OAI/Computability/TypeSystem/Relations.lean
112 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.PureTypeSystem.Labelled.ChannelCode.evalPredBodyline 11Source documentation
The predicate-variable callback P ↦ P@y.
def evalPredBody (T y : Expr S) := (R.rename Nat.succ).eval (T.rename Nat.succ) (.var 0) (y.rename Nat.succ)
Mentions: OAI.PureTypeSystem.Labelled.Expr, OAI.PureTypeSystem.Labelled.ChannelCode.eval
- def
OAI.PureTypeSystem.Labelled.ChannelCode.compareBodyline 12 - def
OAI.PureTypeSystem.Labelled.ChannelCode.relationline 15Source documentation
Source observational relation, with its actual Good predicate callback.
def relation (L : LogicCode S) (K : QuantifierCode S) (T G y z : Expr S) := …
Mentions: OAI.PureTypeSystem.Labelled.QuantifierCode, OAI.PureTypeSystem.Labelled.Expr
- theorem
OAI.PureTypeSystem.Labelled.ChannelCode.evalPredBody_renameline 18 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.evalPredBody_instantiateline 24 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.compareBody_renameline 28 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.compareBody_instantiateline 33 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.relation_renameline 41 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.evalPredBody_familyline 52 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.compareBody_familyline 60 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.relation_formulaline 66 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.relation_elimline 75 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.relation_introline 90 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.Formula.equivalent_reflline 120 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.Formula.equivalent_transline 124 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.relation_reflline 138 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.relation_symmline 145 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.relation_transline 161 - structure
OAI.PureTypeSystem.Labelled.ThreeCopyCodeline 193Source documentation
Five odd segments and the original source channel for tagged copies.
structure ThreeCopyCode (S : Type u) where …
- def
OAI.PureTypeSystem.Labelled.ThreeCopyCode.renameline 200 - def
OAI.PureTypeSystem.Labelled.ThreeCopyCode.substline 202 - def
OAI.PureTypeSystem.Labelled.ThreeCopyCode.firstTypeline 204 - def
OAI.PureTypeSystem.Labelled.ThreeCopyCode.middleTypeline 205 - def
OAI.PureTypeSystem.Labelled.ThreeCopyCode.carrierline 206 - def
OAI.PureTypeSystem.Labelled.ThreeCopyCode.bitInnerline 207 - def
OAI.PureTypeSystem.Labelled.ThreeCopyCode.bitOuterline 209 - def
OAI.PureTypeSystem.Labelled.ThreeCopyCode.observeline 210 - def
OAI.PureTypeSystem.Labelled.ThreeCopyCode.taggedline 213 - structure
OAI.PureTypeSystem.Labelled.ThreeCopyCode.Formedline 218 - theorem
OAI.PureTypeSystem.Labelled.ThreeCopyCode.Formed.renameline 227 - theorem
OAI.PureTypeSystem.Labelled.ThreeCopyCode.Formed.tagged_typedline 232 - theorem
OAI.PureTypeSystem.Labelled.ThreeCopyCode.Formed.bitOuter_formulaline 238 - theorem
OAI.PureTypeSystem.Labelled.ThreeCopyCode.Formed.bitInner_formulaline 242 - theorem
OAI.PureTypeSystem.Labelled.ThreeCopyCode.Formed.observe_formulaline 247 - theorem
OAI.PureTypeSystem.Labelled.ThreeCopyCode.Formed.tagged_bitOuterline 253 - theorem
OAI.PureTypeSystem.Labelled.ThreeCopyCode.Formed.tagged_bitInnerline 259 - theorem
OAI.PureTypeSystem.Labelled.ThreeCopyCode.Formed.tagged_observeline 271 - def
OAI.PureTypeSystem.Labelled.ChannelReturn.copiesline 296 - theorem
OAI.PureTypeSystem.Labelled.ChannelReturn.copies_formedline 297 - theorem
OAI.PureTypeSystem.Labelled.ChannelReturn.copies_typeline 299 - def
OAI.PureTypeSystem.Labelled.ChannelCode.roundRespectBodyline 305 - def
OAI.PureTypeSystem.Labelled.ChannelCode.roundRespectline 309 - def
OAI.PureTypeSystem.Labelled.ChannelCode.goodBodyline 311 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.roundRespectBody_renameline 315 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.roundRespectBody_instantiateline 322 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.roundRespect_renameline 327 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.roundRespectBody_substline 332 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.roundRespect_substline 341 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.goodBody_renameline 346 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.goodBody_instantiateline 353 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.roundRespectBody_familyline 364 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.roundRespect_formulaline 378 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.roundRespect_elimline 386 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.goodBody_familyline 399 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.good_roundline 410 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.Formula.equivalent_of_futureline 427Source documentation
Binder-safe packaging of a pair of uniform proof transformers.
theorem equivalent_of_future (hA : L.Formula A) (hB : L.Formula B) (hab : ∀ Δ δ (e : Embedding P Γ γ Δ δ), Proves P Δ δ (A.rename e.names) → Proves P Δ δ (B.rename e.names)) (hba : ∀ Δ δ (e : Embedding P Γ γ Δ δ), Proves P Δ δ (B.rename e.names) → Proves P Δ δ (A.rename e.names)) : Equivalent P Γ γ A B := by …Mentions: OAI.PureTypeSystem.Labelled.Embedding, OAI.PureTypeSystem.Labelled.Proves, OAI.PureTypeSystem.Labelled.Equivalent
- theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.relation_roundline 447 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.relation_congrline 469 - theorem
OAI.PureTypeSystem.Labelled.Expr.liftSub_single_liftRen_succline 512 - theorem
OAI.PureTypeSystem.Labelled.LogicCode.guardBody_substline 518 - theorem
OAI.PureTypeSystem.Labelled.LogicCode.guardAll_substline 524 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.evalPredBody_substline 532 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.compareBody_substline 538 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.relation_substline 544 - def
OAI.PureTypeSystem.Labelled.ChannelCode.classBodyline 551Source documentation
Source class callback w ↦ (w ∼ y); G retains its predicate binder.
def classBody (L : LogicCode S) (K : QuantifierCode S) (T G y : Expr S) := …
Mentions: OAI.PureTypeSystem.Labelled.QuantifierCode, OAI.PureTypeSystem.Labelled.Expr
- def
OAI.PureTypeSystem.Labelled.ChannelCode.classPredline 554 - def
OAI.PureTypeSystem.Labelled.ChannelCode.unionBodyline 556 - def
OAI.PureTypeSystem.Labelled.ChannelCode.unionPredline 558 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.classBody_renameline 561 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.classBody_instantiateline 569 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.unionBody_instantiateline 576 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.classBody_familyline 590 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.unionBody_familyline 601 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.classPred_typedline 607 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.unionPred_typedline 614 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.class_evaluationline 622 - def
OAI.PureTypeSystem.Labelled.LogicCode.negBodyline 645 - def
OAI.PureTypeSystem.Labelled.LogicCode.exline 646 - theorem
OAI.PureTypeSystem.Labelled.LogicCode.negBody_renameline 647 - theorem
OAI.PureTypeSystem.Labelled.LogicCode.negBody_instantiateline 651 - theorem
OAI.PureTypeSystem.Labelled.LogicCode.negBody_substline 653 - theorem
OAI.PureTypeSystem.Labelled.LogicCode.ex_renameline 658 - theorem
OAI.PureTypeSystem.Labelled.LogicCode.ex_substline 661 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.ex_formulaline 672 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.ex_introline 676 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.ex_elimline 702Source documentation
The elimination target has no free locally opened witness. Its callback is uniform over every future embedding, preserving the source freshness condition.
theorem ex_elim (hB : L.Formula B) (hp : Proves P Γ γ (L.code.ex K.code T Q)) (hh : ∀ Δ δ (e : Embedding P Γ γ Δ δ) a, HasType P Δ a (T.rename e.names) → WellModed δ a .data → Proves P Δ δ ((Q.rename (Expr.liftRen e.names)).instantiate a) → Proves P Δ δ (B.rename e.names)) : Proves P Γ γ B := by …Mentions: OAI.PureTypeSystem.Labelled.Proves, OAI.PureTypeSystem.Labelled.Embedding, OAI.PureTypeSystem.Labelled.HasType, OAI.PureTypeSystem.Labelled.WellModed, OAI.PureTypeSystem.Labelled.Expr.liftRen
- theorem
OAI.PureTypeSystem.Labelled.LogicSetup.all_map_futureline 750Source documentation
Explicit uniform quantifier transport; no fixture of local witnesses leaks.
theorem all_map_future (hh : ∀ Δ δ (e : Embedding P Γ γ Δ δ) a, HasType P Δ a (T.rename e.names) → WellModed δ a .data → Proves P Δ δ ((Q.rename (Expr.liftRen e.names)).instantiate a) → Proves P Δ δ ((R.rename (Expr.liftRen e.names)).instantiate a)) (hp : Proves P Γ γ (K.code.all T Q)) : Proves P Γ γ (K.code.all T R) := by …Mentions: OAI.PureTypeSystem.Labelled.Embedding, OAI.PureTypeSystem.Labelled.HasType, OAI.PureTypeSystem.Labelled.WellModed, OAI.PureTypeSystem.Labelled.Proves, OAI.PureTypeSystem.Labelled.Expr.liftRen
- theorem
OAI.PureTypeSystem.Labelled.LogicSetup.all_equivalent_futureline 764 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.ex_equivalent_futureline 795 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.pred_renameline 814 - def
OAI.PureTypeSystem.Labelled.ChannelCode.evalBodyline 819 - def
OAI.PureTypeSystem.Labelled.ChannelCode.predCompareBodyline 820 - def
OAI.PureTypeSystem.Labelled.ChannelCode.predCompareline 822 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.evalBody_renameline 825 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.evalBody_instantiateline 831 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.evalBody_substline 835 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.predCompareBody_renameline 840 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.predCompareBody_substline 845 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.predCompareBody_instantiateline 851 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.predCompare_renameline 857 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.predCompare_substline 861 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.evalBody_familyline 871 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.predCompareBody_familyline 878 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.predCompare_formulaline 884 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.predCompare_elimline 892 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.predCompare_introline 904 - theorem
OAI.PureTypeSystem.Labelled.LogicSetup.disj_equivalentline 932 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.classPred_renameline 941 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.unionBody_renameline 946 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.unionPred_renameline 952 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.union_evaluationline 966 - theorem
OAI.PureTypeSystem.Labelled.ChannelCode.Formed.class_comparisonline 993