OAI/Computability/TypeSystem/Logic.lean
283 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.PureTypeSystem.Labelled.ProofWrapper.Formed.of_pathline 15 - structure
OAI.PureTypeSystem.Labelled.QuantifierRouteline 22Source documentation
Quantification uses the displayed direct-vertex annotation throughout.
structure QuantifierRoute {Γ : List (Expr S)} {γ : Nat → Mode} (W : WitnessFamily P Γ γ) (C : Set (Set S)) (b I : Set S) where …Mentions: OAI.PureTypeSystem.Labelled.Expr, OAI.PureTypeSystem.Labelled.Mode, OAI.PureTypeSystem.Labelled.WitnessFamily
- def
OAI.PureTypeSystem.Labelled.QuantifierRoute.renameline 35 - theorem
OAI.PureTypeSystem.Labelled.QuantifierRoute.exists_routeline 45 - structure
OAI.PureTypeSystem.Labelled.LogicSetupline 56Source documentation
Actual finite ambient context data for the source's classical logical calculus. All fields are constructed below from fixed graph paths and terms.
structure LogicSetup (P : Specification S) (Γ : List (Expr S)) (γ : Nat → Mode) (C : Set (Set S)) where …Mentions: OAI.PureTypeSystem.Specification, OAI.PureTypeSystem.Labelled.Expr, OAI.PureTypeSystem.Labelled.Mode
- def
OAI.PureTypeSystem.Labelled.LogicSetup.renameline 79 - def
OAI.PureTypeSystem.Labelled.LogicSetup.bottomline 97 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.terminal_baseline 99 - def
OAI.PureTypeSystem.Labelled.LogicSetup.Formulaline 102 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.Formula.renameline 105 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.bottom_formulaline 109 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.exists_setupline 115Source documentation
The ambient proof declarations are only the actual terminal converters, and hence the no-normal-proof criterion applies to the eventual bottom inhabitant.
theorem exists_setup [Fintype S] (C : Set (Set S)) (hC : IsComponent (PrimaryEdge P) C) (ho : ∃ r ∈ C, SignedPath (PrimaryEdge P) r r true) (ht : ∃ I J K, ProfileTriple P I J K ∧ I ∈ C ∧ J ∈ C ∧ K ∈ C) : ∃ Γ γ, ProofContext Γ γ ∧ Nonempty (LogicSetup P Γ γ C) := by …Mentions: OAI.PureTypeSystem.IsComponent, OAI.PureTypeSystem.PrimaryEdge, OAI.PureTypeSystem.SignedPath, OAI.PureTypeSystem.ProfileTriple, OAI.PureTypeSystem.Labelled.ProofContext, OAI.PureTypeSystem.Labelled.LogicSetup
- def
OAI.PureTypeSystem.Labelled.LogicSetup.impline 133 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.imp_renameline 136 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.bottom_renameline 140 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.Formula.sortedline 143 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.raw_impline 148 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.imp_formulaline 159 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.imp_introline 164 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.imp_elimline 175 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.imp_intro_futureline 187Source documentation
Logical abstraction is uniform in every future typing/mode embedding. This is stronger than a meta-level map on the inhabitants in one context.
theorem imp_intro_future (hA : L.Formula A) (hB : L.Formula B) (h : ∀ (Δ : List (Expr S)) (δ : Nat → Mode) (e : Embedding P Γ γ Δ δ), Proves P Δ δ (A.rename e.names) → Proves P Δ δ (B.rename e.names)) : Proves P Γ γ (L.imp A B) := by …Mentions: OAI.PureTypeSystem.Labelled.Expr, OAI.PureTypeSystem.Labelled.Mode, OAI.PureTypeSystem.Labelled.Embedding, OAI.PureTypeSystem.Labelled.Proves
- theorem
OAI.PureTypeSystem.Labelled.LogicSetup.imp_future_iffline 194 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.explosionline 205Source documentation
Stable extraction plus the actual finite converters gives ex falso.
theorem explosion (hA : L.Formula A) (hf : Proves P Γ γ L.bottom) : Proves P Γ γ A := by …
Mentions: OAI.PureTypeSystem.Labelled.Proves
- theorem
OAI.PureTypeSystem.Labelled.LogicSetup.dneline 218Source documentation
Double negation elimination uses callbacks at each terminal, and therefore constructs labelled terms for every stable formula, including dependent ones.
theorem dne (hA : L.Formula A) (hw : Proves P Γ γ (L.imp (L.imp A L.bottom) L.bottom)) : Proves P Γ γ A := by …Mentions: OAI.PureTypeSystem.Labelled.Proves
- def
OAI.PureTypeSystem.Labelled.LogicSetup.allline 252Source documentation
The route is selected by its original direct annotation, not by a later sorting profile of the domain.
def all (R : QuantifierRoute L.witnesses C L.base I) (T Q : Expr S) : Expr S := …
Mentions: OAI.PureTypeSystem.Labelled.QuantifierRoute, OAI.PureTypeSystem.Labelled.Expr
- theorem
OAI.PureTypeSystem.Labelled.LogicSetup.all_renameline 255 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.raw_allline 261 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.all_formulaline 279 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.all_introline 287 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.all_elimline 301 - theorem
OAI.PureTypeSystem.Labelled.Transfer.of_conversionline 328 - def
OAI.PureTypeSystem.Labelled.Equivalentline 335Source documentation
Logical equivalence retains two actual typed open proof transformers. No data term is ever replaced using this relation.
def Equivalent (P : Specification S) (Γ : List (Expr S)) (γ : Nat → Mode) (A B : Expr S) : Prop := …
Mentions: OAI.PureTypeSystem.Specification, OAI.PureTypeSystem.Labelled.Expr, OAI.PureTypeSystem.Labelled.Mode
- theorem
OAI.PureTypeSystem.Labelled.Equivalent.reflline 339 - theorem
OAI.PureTypeSystem.Labelled.Equivalent.symmline 341 - theorem
OAI.PureTypeSystem.Labelled.Equivalent.transline 342 - theorem
OAI.PureTypeSystem.Labelled.Equivalent.renameline 345 - theorem
OAI.PureTypeSystem.Labelled.Equivalent.of_conversionline 348 - theorem
OAI.PureTypeSystem.Labelled.ProofWrapper.apply_convertsline 355 - theorem
OAI.PureTypeSystem.Labelled.ProofWrapper.Formed.odd_negativeline 364 - theorem
OAI.PureTypeSystem.Labelled.ProofWrapper.Formed.edge_negativeline 371 - theorem
OAI.PureTypeSystem.Labelled.ProofWrapper.Formed.path_negativeline 379 - theorem
OAI.PureTypeSystem.Labelled.ProofWrapper.Formed.exists_even_negativeline 389 - inductive
OAI.PureTypeSystem.Labelled.PositiveDataWrapperline 400Source documentation
A fixed all-positive data path, with its original dummy argument values.
inductive PositiveDataWrapper (S : Type u) | identity | step : PositiveDataWrapper S → Expr S → Expr S → PositiveDataWrapper S namespace PositiveDataWrapper
Mentions: OAI.PureTypeSystem.Labelled.Expr
- def
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.applyline 405 - def
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.injectline 409 - def
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.projectline 413 - def
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.renameline 417 - def
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.substline 421 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.apply_renameline 425 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.inject_renameline 428 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.project_renameline 431 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.apply_substline 434 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.inject_substline 437 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.project_substline 440 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.rename_compline 443 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.rename_idline 446 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.instantiate_raiseline 448 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.project_reducesline 452 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.cancelline 458 - inductive
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.Formedline 464 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.Formed.renameline 473 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.Formed.pathline 480 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.Formed.sortedline 490 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.Formed.modesline 497 - theorem
OAI.PureTypeSystem.Labelled.PositiveDataWrapper.Formed.typedline 509 - structure
OAI.PureTypeSystem.Labelled.DataTailline 526 - def
OAI.PureTypeSystem.Labelled.DataTail.carrierline 534 - def
OAI.PureTypeSystem.Labelled.DataTail.sendline 535 - def
OAI.PureTypeSystem.Labelled.DataTail.readline 536 - def
OAI.PureTypeSystem.Labelled.DataTail.renameline 537 - def
OAI.PureTypeSystem.Labelled.DataTail.substline 539 - theorem
OAI.PureTypeSystem.Labelled.DataTail.carrier_renameline 542 - theorem
OAI.PureTypeSystem.Labelled.DataTail.send_renameline 544 - theorem
OAI.PureTypeSystem.Labelled.DataTail.read_renameline 547 - theorem
OAI.PureTypeSystem.Labelled.DataTail.carrier_substline 550 - theorem
OAI.PureTypeSystem.Labelled.DataTail.send_substline 552 - theorem
OAI.PureTypeSystem.Labelled.DataTail.read_substline 555 - theorem
OAI.PureTypeSystem.Labelled.DataTail.rename_compline 558 - theorem
OAI.PureTypeSystem.Labelled.DataTail.rename_idline 561 - theorem
OAI.PureTypeSystem.Labelled.DataTail.instantiate_raiseline 563 - structure
OAI.PureTypeSystem.Labelled.DataTail.Formedline 567 - theorem
OAI.PureTypeSystem.Labelled.DataTail.Formed.renameline 580 - theorem
OAI.PureTypeSystem.Labelled.DataTail.Formed.sort_sortedline 587 - theorem
OAI.PureTypeSystem.Labelled.DataTail.Formed.carrier_sortedline 592 - theorem
OAI.PureTypeSystem.Labelled.DataTail.Formed.carrier_modeline 594 - theorem
OAI.PureTypeSystem.Labelled.DataTail.Formed.send_typedline 597 - theorem
OAI.PureTypeSystem.Labelled.DataTail.Formed.read_formulaline 602 - theorem
OAI.PureTypeSystem.Labelled.DataTail.Formed.read_sendline 610 - theorem
OAI.PureTypeSystem.Labelled.DataTail.Formed.exists_tailline 627 - inductive
OAI.PureTypeSystem.Labelled.DataWrapperline 645Source documentation
A retained data path, with fixed tail codes and fixed positive witnesses.
inductive DataWrapper (S : Type u) : Bool → Type u | identity : DataWrapper S false | positive {b} : DataWrapper S b → Expr S → Expr S → DataWrapper S b | negative {b} : DataWrapper S b → DataTail S → DataWrapper S (!b) namespace DataWrapperMentions: OAI.PureTypeSystem.Labelled.Expr, OAI.PureTypeSystem.Labelled.DataTail
- def
OAI.PureTypeSystem.Labelled.DataWrapper.applyline 651 - def
OAI.PureTypeSystem.Labelled.DataWrapper.renameline 656 - def
OAI.PureTypeSystem.Labelled.DataWrapper.substline 661 - def
OAI.PureTypeSystem.Labelled.DataWrapper.depthline 666 - theorem
OAI.PureTypeSystem.Labelled.DataWrapper.depth_renameline 671 - def
OAI.PureTypeSystem.Labelled.DataWrapper.argRenline 675 - def
OAI.PureTypeSystem.Labelled.DataWrapper.argSubline 676 - theorem
OAI.PureTypeSystem.Labelled.apply_renameline 696 - theorem
OAI.PureTypeSystem.Labelled.apply_substline 699 - theorem
OAI.PureTypeSystem.Labelled.rename_compline 702 - theorem
OAI.PureTypeSystem.Labelled.rename_idline 705 - theorem
OAI.PureTypeSystem.Labelled.instantiate_raiseline 707 - theorem
OAI.PureTypeSystem.Labelled.argRen_compline 711 - theorem
OAI.PureTypeSystem.Labelled.rename_build_observeline 715 - theorem
OAI.PureTypeSystem.WitnessFamily.rename_compline 755 - theorem
OAI.PureTypeSystem.WitnessFamily.rename_reflline 759 - theorem
OAI.PureTypeSystem.LogicSetup.Formula.rename_comp_iffline 767 - theorem
OAI.PureTypeSystem.LogicSetup.Formula.rename_refl_iffline 774 - def
OAI.PureTypeSystem.LogicSetup.Familyline 782Source documentation
A raw callback with uniform stable instances in every subsequent context. This is an internal syntax interface, not a hypothesis on the PTS.
def Family (L : LogicSetup P Γ γ C) (T Q : Expr S) : Prop := …
Mentions: OAI.PureTypeSystem.Expr
- theorem
OAI.PureTypeSystem.LogicSetup.Family.renameline 789 - theorem
OAI.PureTypeSystem.LogicSetup.Family.instantiateline 800 - theorem
OAI.PureTypeSystem.LogicSetup.Family.openedline 807 - theorem
OAI.PureTypeSystem.LogicSetup.Family.rename_comp_iffline 818 - def
OAI.PureTypeSystem.LogicSetup.DataArgline 828Source documentation
Even builders accept a raw data element; odd builders accept a raw callback.
def DataArg (L : LogicSetup P Γ γ C) (b : Bool) (T a : Expr S) : Prop := …
Mentions: OAI.PureTypeSystem.Expr
- theorem
OAI.PureTypeSystem.LogicSetup.DataArg.renameline 833 - theorem
OAI.PureTypeSystem.LogicSetup.DataArg.rename_comp_iffline 839 - inductive
OAI.PureTypeSystem.DataWrapper.Formedline 849 - theorem
OAI.PureTypeSystem.DataWrapper.Formed.renameline 863 - theorem
OAI.PureTypeSystem.DataWrapper.Formed.sortedline 871 - theorem
OAI.PureTypeSystem.DataWrapper.Formed.modeline 879 - theorem
OAI.PureTypeSystem.DataWrapper.Formed.edgeline 887 - theorem
OAI.PureTypeSystem.DataWrapper.Formed.pathline 899 - theorem
OAI.PureTypeSystem.DataWrapper.Formed.positive_pathline 909 - theorem
OAI.PureTypeSystem.DataWrapper.Formed.sound_renameline 925Source documentation
Uniform typing includes all future raw input types, so negative-edge callbacks are checked under their fresh data variable without a closure axiom.
theorem sound_rename (h : Formed L I J R) : ∀ (Δ : List (Expr S)) (δ : Nat → Mode) (e : Embedding P Γ γ Δ δ) (T : Expr S), SortedAt P Δ T I → WellModed δ T .data → (∀ a, (L.rename e).DataArg b T a → HasType P Δ ((R.rename e.names).build T a) ((R.rename e.names).apply T) ∧ WellModed δ ((R.rename e.names).build T a) .data) ∧ (∀ w a, HasType P Δ w ((R.rename e.names).apply T) → WellModed δ w .data → (L.rename e).DataArg (!b) T a → (L.rename e).Formula ((R.rename e.names).observe T w a)) := by …Mentions: OAI.PureTypeSystem.DataWrapper.Formed, OAI.PureTypeSystem.Expr, OAI.PureTypeSystem.HasType
- theorem
OAI.PureTypeSystem.DataWrapper.Formed.soundline 1006Source documentation
The four displayed operations of the manuscript, on the fixed unrenamed code.
theorem sound (h : Formed L I J R) {T : Expr S} (hT : SortedAt P Γ T I) (mT : WellModed γ T .data) : (∀ a, L.DataArg b T a → HasType P Γ (R.build T a) (R.apply T) ∧ WellModed γ (R.build T a) .data) ∧ (∀ w a, HasType P Γ w (R.apply T) → WellModed γ w .data → L.DataArg (!b) T a → L.Formula (R.observe T w a)) := by …Mentions: OAI.PureTypeSystem.DataWrapper.Formed, OAI.PureTypeSystem.Expr, OAI.PureTypeSystem.HasType
- def
OAI.PureTypeSystem.DataWrapper.reindexline 1034Source documentation
Concatenate retained wrapper syntax, never selecting new positive witnesses.
def reindex {b c : Bool} (h : b = c) (R : DataWrapper S b) : DataWrapper S c := h ▸ R - theorem
OAI.PureTypeSystem.DataWrapper.apply_reindexline 1035 - theorem
OAI.PureTypeSystem.DataWrapper.rename_reindexline 1037 - def
OAI.PureTypeSystem.DataWrapper.appendline 1040 - theorem
OAI.PureTypeSystem.DataWrapper.apply_appendline 1045 - theorem
OAI.PureTypeSystem.DataWrapper.append_renameline 1052 - theorem
OAI.PureTypeSystem.DataWrapper.Formed.reindexline 1060 - theorem
OAI.PureTypeSystem.DataWrapper.Formed.appendline 1067 - inductive
FiniteClassical.Formulaline 1081 - def
FiniteClassical.Formula.negline 1088 - def
FiniteClassical.Formula.evalline 1089 - def
FiniteClassical.Formula.signline 1094 - def
FiniteClassical.Formula.supportline 1096 - inductive
FiniteClassical.Derivesline 1104 - theorem
FiniteClassical.Derives.monoline 1113 - theorem
FiniteClassical.Derives.weakenline 1120 - theorem
FiniteClassical.Derives.cutline 1123 - theorem
FiniteClassical.Derives.absurdline 1136 - theorem
FiniteClassical.Derives.by_casesline 1139 - theorem
FiniteClassical.Derives.signedline 1158Source documentation
The signed recursive branch of the source's truth-table compiler.
theorem signed [DecidableEq α] (v : α → Bool) (A : Formula α) (h : ∀ a ∈ A.support, Derives Γ ((Formula.atom a).sign (v a))) : Derives Γ (A.sign (A.eval v)) := by …Mentions: FiniteClassical.Formula, FiniteClassical.Derives
- theorem
FiniteClassical.Derives.branchline 1178Source documentation
Exhaustive finite case elimination, with no evaluation reflection axiom.
theorem branch [DecidableEq α] (s : Finset α) (h : ∀ v : α → Bool, Derives ((fun A => ∃ a ∈ s, A = (Formula.atom a).sign (v a)) ∪ Γ) R) : Derives Γ R := by …Mentions: FiniteClassical.Derives
- theorem
FiniteClassical.Derives.tautologyline 1219Source documentation
Boolean truth-table validity compiles to a finite typed-use derivation.
theorem tautology [DecidableEq α] (A : Formula α) (h : ∀ v, A.eval v = true) : Derives Γ A := by …
Mentions: FiniteClassical.Formula, FiniteClassical.Derives
- def
PureTypeSystem.Labelled.LogicSetup.interpretline 1236 - theorem
PureTypeSystem.Labelled.LogicSetup.interpret_renameline 1241 - theorem
PureTypeSystem.Labelled.LogicSetup.interpret_formulaline 1249 - theorem
PureTypeSystem.Labelled.LogicSetup.propositional_soundline 1258Source documentation
Compilation of every node of the finite classical derivation to actual labelled typing/proof-mode judgments.
theorem propositional_sound {Ξ : Set (FiniteClassical.Formula α)} {F : FiniteClassical.Formula α} (h : FiniteClassical.Derives Ξ F) (a : α → Expr S) (ha : ∀ i, L.Formula (a i)) (hp : ∀ Q ∈ Ξ, Proves P Γ γ (L.interpret a Q)) : Proves P Γ γ (L.interpret a F) := by …Mentions: FiniteClassical.Formula, FiniteClassical.Derives
- theorem
PureTypeSystem.Labelled.LogicSetup.propositional_tautologyline 1276 - def
FiniteClassical.Formula.topline 1286 - def
FiniteClassical.Formula.conjline 1287 - def
FiniteClassical.Formula.disjline 1288 - def
FiniteClassical.Formula.iffline 1289 - def
FiniteClassical.Formula.chainline 1290 - def
PureTypeSystem.Labelled.LogicSetup.topline 1301 - def
PureTypeSystem.Labelled.LogicSetup.negline 1302 - def
PureTypeSystem.Labelled.LogicSetup.conjline 1303 - def
PureTypeSystem.Labelled.LogicSetup.disjline 1304 - def
PureTypeSystem.Labelled.LogicSetup.iffline 1305 - theorem
PureTypeSystem.Labelled.LogicSetup.top_formulaline 1307 - theorem
PureTypeSystem.Labelled.LogicSetup.neg_formulaline 1308 - theorem
PureTypeSystem.Labelled.LogicSetup.conj_formulaline 1309 - theorem
PureTypeSystem.Labelled.LogicSetup.disj_formulaline 1311 - theorem
PureTypeSystem.Labelled.LogicSetup.iff_formulaline 1313 - theorem
PureTypeSystem.Labelled.LogicSetup.top_renameline 1316 - theorem
PureTypeSystem.Labelled.LogicSetup.neg_renameline 1318 - theorem
PureTypeSystem.Labelled.LogicSetup.conj_renameline 1321 - theorem
PureTypeSystem.Labelled.LogicSetup.disj_renameline 1324 - theorem
PureTypeSystem.Labelled.LogicSetup.iff_renameline 1327 - theorem
PureTypeSystem.Labelled.LogicSetup.propositional_consequenceline 1332Source documentation
Arbitrary finite propositional chaining, compiled to actual open terms.
theorem propositional_consequence {α : Type v} (a : α → Expr S) (ha : ∀ i, L.Formula (a i)) (hs : List (FiniteClassical.Formula α)) (Q : FiniteClassical.Formula α) (hv : ∀ v, (FiniteClassical.Formula.chain hs Q).eval v = true) (hp : ∀ R ∈ hs, Proves P Γ γ (L.interpret a R)) : Proves P Γ γ (L.interpret a Q) := by …Mentions: FiniteClassical.Formula, FiniteClassical.Formula.chain
- theorem
PureTypeSystem.Labelled.LogicSetup.top_introline 1346 - theorem
PureTypeSystem.Labelled.LogicSetup.conj_introline 1350 - theorem
PureTypeSystem.Labelled.LogicSetup.conj_leftline 1364 - theorem
PureTypeSystem.Labelled.LogicSetup.conj_rightline 1376 - theorem
PureTypeSystem.Labelled.LogicSetup.iff_of_equivalentline 1388 - theorem
PureTypeSystem.Labelled.LogicSetup.equivalent_of_iffline 1393 - theorem
PureTypeSystem.Labelled.Converts.appline 1408 - theorem
PureTypeSystem.Labelled.ProofWrapper.subst_renameline 1415 - theorem
PureTypeSystem.Labelled.ProofWrapper.rename_substline 1418 - theorem
PureTypeSystem.Labelled.PositiveDataWrapper.subst_renameline 1423 - theorem
PureTypeSystem.Labelled.PositiveDataWrapper.rename_substline 1426 - theorem
PureTypeSystem.Labelled.PositiveDataWrapper.project_convertsline 1429 - theorem
PureTypeSystem.Labelled.DataTail.subst_renameline 1436 - theorem
PureTypeSystem.Labelled.DataTail.rename_substline 1440 - theorem
PureTypeSystem.Labelled.DataTail.read_convertsline 1444 - theorem
PureTypeSystem.Labelled.DataWrapper.subst_renameline 1449 - theorem
PureTypeSystem.Labelled.DataWrapper.rename_substline 1452 - theorem
PureTypeSystem.Labelled.DataWrapper.argSub_shiftline 1456 - theorem
PureTypeSystem.Labelled.DataWrapper.subst_build_observeline 1467 - theorem
PureTypeSystem.Labelled.DataWrapper.observe_convertsline 1496 - theorem
PureTypeSystem.Labelled.DataWrapper.observe_openline 1504Source documentation
The exact substitution equation exposed by a negative-edge beta step.
theorem observe_open {b} (R : DataWrapper S b) (T a v : Expr S) : ((R.rename Nat.succ).observe (T.rename Nat.succ) (.var 0) (a.rename (argRen (!b) Nat.succ))).instantiate v = R.observe T v a := by … - theorem
PureTypeSystem.Labelled.DataWrapper.build_renameline 1519 - theorem
PureTypeSystem.Labelled.DataWrapper.observe_renameline 1522 - theorem
PureTypeSystem.Labelled.DataWrapper.build_substline 1525 - theorem
PureTypeSystem.Labelled.DataWrapper.observe_substline 1528 - def
PureTypeSystem.Labelled.Expr.composeline 1535Source documentation
Composition of one-variable open terms, preserving the common ambient context. No logical equivalence is used as a data equality.
def compose (f g : Expr S) : Expr S := (f.rename (liftRen Nat.succ)).instantiate g
- theorem
PureTypeSystem.Labelled.Expr.compose_instantiateline 1537 - theorem
PureTypeSystem.Labelled.Expr.compose_renameline 1546 - def
PureTypeSystem.Labelled.DataMapline 1557Source documentation
An ordinary raw data callback. Its uniformity is a consequence of the already proved labelled substitution theorem.
def DataMap (P : Specification S) (Γ : List (Expr S)) (γ : Nat → Mode) (T U f : Expr S) : Prop := … - theorem
PureTypeSystem.Labelled.DataMap.applyline 1563 - theorem
PureTypeSystem.Labelled.DataMap.renameline 1569 - theorem
PureTypeSystem.Labelled.LogicSetup.Family.composeline 1580 - def
PureTypeSystem.Labelled.DataWrapper.evalCallbackline 1590 - theorem
PureTypeSystem.Labelled.DataWrapper.evalCallback_instantiateline 1593 - theorem
PureTypeSystem.Labelled.DataWrapper.evalCallback_renameline 1598 - theorem
PureTypeSystem.Labelled.DataWrapper.Formed.evalCallback_familyline 1609 - def
PureTypeSystem.Labelled.DataWrapper.reencodeline 1619 - theorem
PureTypeSystem.Labelled.DataWrapper.reencode_renameline 1622 - theorem
PureTypeSystem.Labelled.DataWrapper.Formed.reencode_typedline 1630 - def
PureTypeSystem.Labelled.DataWrapper.cancelFormulaline 1637 - theorem
PureTypeSystem.Labelled.DataWrapper.cancelFormula_swapline 1640 - theorem
PureTypeSystem.Labelled.DataWrapper.negative_betaline 1643 - theorem
PureTypeSystem.Labelled.DataWrapper.Formed.cancellationline 1662 - theorem
PureTypeSystem.Labelled.Expr.compose_substline 1706 - theorem
PureTypeSystem.Labelled.DataWrapper.evalCallback_substline 1719 - theorem
PureTypeSystem.Labelled.DataWrapper.reencode_substline 1727 - def
PureTypeSystem.Labelled.DataWrapper.reencodeBodyline 1731 - theorem
PureTypeSystem.Labelled.DataWrapper.reencodeBody_instantiateline 1734 - theorem
PureTypeSystem.Labelled.DataWrapper.reencodeBody_renameline 1739 - theorem
PureTypeSystem.Labelled.DataWrapper.Formed.reencode_mapline 1750 - theorem
PureTypeSystem.Labelled.DataWrapper.Formed.reencode_evaluationline 1761 - structure
PureTypeSystem.Labelled.LogicCodeline 1773Source documentation
Raw code for the already constructed logical operations. This separates syntax naturality from the dependent typing certificate of a logic setup.
structure LogicCode (S : Type u) where …
- def
PureTypeSystem.Labelled.LogicCode.renameline 1779 - def
PureTypeSystem.Labelled.LogicCode.substline 1780 - def
PureTypeSystem.Labelled.LogicCode.impline 1781 - def
PureTypeSystem.Labelled.LogicCode.negline 1782 - def
PureTypeSystem.Labelled.LogicCode.topline 1783 - def
PureTypeSystem.Labelled.LogicCode.conjline 1784 - def
PureTypeSystem.Labelled.LogicCode.disjline 1785 - def
PureTypeSystem.Labelled.LogicCode.iffline 1786 - def
PureTypeSystem.Labelled.LogicCode.condline 1787 - def
PureTypeSystem.Labelled.LogicCode.signline 1788 - theorem
PureTypeSystem.Labelled.LogicCode.rename_compline 1790 - theorem
PureTypeSystem.Labelled.LogicCode.instantiate_raiseline 1792 - theorem
PureTypeSystem.Labelled.LogicCode.rename_lift_instantiateline 1794 - theorem
PureTypeSystem.Labelled.LogicCode.imp_renameline 1801 - theorem
PureTypeSystem.Labelled.LogicCode.imp_substline 1804 - theorem
PureTypeSystem.Labelled.LogicCode.neg_renameline 1807 - theorem
PureTypeSystem.Labelled.LogicCode.neg_substline 1810 - theorem
PureTypeSystem.Labelled.LogicCode.top_renameline 1813 - theorem
PureTypeSystem.Labelled.LogicCode.top_substline 1815 - theorem
PureTypeSystem.Labelled.LogicCode.conj_renameline 1817 - theorem
PureTypeSystem.Labelled.LogicCode.conj_substline 1820 - theorem
PureTypeSystem.Labelled.LogicCode.disj_renameline 1823 - theorem
PureTypeSystem.Labelled.LogicCode.disj_substline 1826 - theorem
PureTypeSystem.Labelled.LogicCode.iff_renameline 1829 - theorem
PureTypeSystem.Labelled.LogicCode.iff_substline 1832 - theorem
PureTypeSystem.Labelled.LogicCode.cond_renameline 1835 - theorem
PureTypeSystem.Labelled.LogicCode.cond_substline 1838 - theorem
PureTypeSystem.Labelled.LogicCode.sign_renameline 1841 - theorem
PureTypeSystem.Labelled.LogicCode.sign_substline 1844 - theorem
PureTypeSystem.Labelled.LogicCode.sign_instantiate_raiseline 1847 - def
PureTypeSystem.Labelled.LogicSetup.codeline 1854 - theorem
PureTypeSystem.Labelled.LogicSetup.code_renameline 1855 - theorem
PureTypeSystem.Labelled.LogicSetup.cond_formulaline 1856 - theorem
PureTypeSystem.Labelled.LogicSetup.sign_formulaline 1859 - theorem
PureTypeSystem.Labelled.LogicSetup.Family.constantline 1866 - theorem
PureTypeSystem.Labelled.LogicSetup.Family.code_impline 1873 - theorem
PureTypeSystem.Labelled.LogicSetup.Family.code_negline 1880 - theorem
PureTypeSystem.Labelled.LogicSetup.Family.code_signline 1883 - theorem
PureTypeSystem.Labelled.LogicSetup.Family.code_conjline 1888 - theorem
PureTypeSystem.Labelled.LogicSetup.Family.code_disjline 1892 - theorem
PureTypeSystem.Labelled.LogicSetup.Family.code_iffline 1896 - theorem
PureTypeSystem.Labelled.LogicSetup.Family.code_condline 1900 - def
PureTypeSystem.Labelled.DataWrapper.contraCallbackline 1908Source documentation
The other slot of odd evaluation, exposed as an actual raw callback.
def contraCallback (R : DataWrapper S true) (T t : Expr S) : Expr S := …
- theorem
PureTypeSystem.Labelled.DataWrapper.contraCallback_instantiateline 1911 - theorem
PureTypeSystem.Labelled.DataWrapper.contraCallback_renameline 1916 - theorem
PureTypeSystem.Labelled.DataWrapper.contraCallback_substline 1923 - theorem
PureTypeSystem.Labelled.DataWrapper.Formed.contraCallback_familyline 1934 - inductive
PTSPropositional.Nodeline 1951 - def
PTSPropositional.Node.negline 1956 - def
PTSPropositional.Node.conjline 1957 - def
PTSPropositional.Node.disjline 1958 - def
PTSPropositional.Node.iffline 1959 - def
PTSPropositional.reifyline 1961 - def
PTSPropositional.Node.syntaxline 1996 - def
PTSPropositional.atomFunctionline 2001 - def
PTSPropositional.truthCasesline 2009 - def
PTSPropositional.memCasesline 2017 - def
PTSPropositional.formulaProofline 2028