OAI/Computability/TypeSystem/OneChild.lean
45 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.PureTypeSystem.OneChildInterpretation.Bitsline 12 - def
OAI.PureTypeSystem.OneChildInterpretation.extendBitline 14 - def
OAI.PureTypeSystem.OneChildInterpretation.headline 18 - def
OAI.PureTypeSystem.OneChildInterpretation.evalline 25Source documentation
Both choices are tested at each binder. Specialization will select the extreme choice given by the unique internal support path.
noncomputable def eval (Γ : List (Expr S)) (A : Expr S) (σ : Nat → Expr S) (θ : Bits) : Set (Expr S) := …
Mentions: OAI.PureTypeSystem.Expr, OAI.PureTypeSystem.OneChildInterpretation.Bits
- theorem
OAI.PureTypeSystem.OneChildInterpretation.head_renameline 35 - theorem
OAI.PureTypeSystem.OneChildInterpretation.head_substline 44 - theorem
OAI.PureTypeSystem.OneChildInterpretation.head_betaline 53 - theorem
OAI.PureTypeSystem.OneChildInterpretation.head_reducesline 64 - theorem
OAI.PureTypeSystem.OneChildInterpretation.head_normalFormline 70 - theorem
OAI.PureTypeSystem.OneChildInterpretation.eval_piline 73 - theorem
OAI.PureTypeSystem.OneChildInterpretation.eval_headline 80 - theorem
OAI.PureTypeSystem.OneChildInterpretation.eval_sortline 86 - theorem
OAI.PureTypeSystem.OneChildInterpretation.eval_candidateline 93 - theorem
OAI.PureTypeSystem.OneChildInterpretation.eval_outsideline 128 - def
OAI.PureTypeSystem.OneChildInterpretation.dropSupportline 135 - def
OAI.PureTypeSystem.OneChildInterpretation.flipSupportline 140 - def
OAI.PureTypeSystem.OneChildInterpretation.supportline 143 - structure
OAI.PureTypeSystem.OneChildInterpretation.Environmentline 151 - def
OAI.PureTypeSystem.OneChildInterpretation.Rline 156 - theorem
OAI.PureTypeSystem.OneChildInterpretation.normal_subst_eqline 159 - theorem
OAI.PureTypeSystem.OneChildInterpretation.R_candidateline 169 - theorem
OAI.PureTypeSystem.OneChildInterpretation.R_conversionline 177 - theorem
OAI.PureTypeSystem.OneChildInterpretation.eval_recontextline 190 - theorem
OAI.PureTypeSystem.OneChildInterpretation.eval_renameline 212 - def
OAI.PureTypeSystem.OneChildInterpretation.Environment.Extline 262 - theorem
OAI.PureTypeSystem.OneChildInterpretation.R_sortline 266 - theorem
OAI.PureTypeSystem.OneChildInterpretation.R_weakeningline 271 - theorem
OAI.PureTypeSystem.OneChildInterpretation.normal_productline 292 - theorem
OAI.PureTypeSystem.OneChildInterpretation.R_outsideline 323 - theorem
OAI.PureTypeSystem.OneChildInterpretation.product_iffline 334 - def
OAI.PureTypeSystem.OneChildInterpretation.CompatibleBitsline 371Source documentation
Replaced supported heads are assigned the extremum appropriate to the comparison direction and path parity. Unreplaced heads retain their bit.
def CompatibleBits (r : Option (Nat × Bool)) (dir : Bool) (σ : Nat → Expr S) (θ ψ : Bits) : Prop := …
Mentions: OAI.PureTypeSystem.Expr, OAI.PureTypeSystem.OneChildInterpretation.Bits
- def
OAI.PureTypeSystem.OneChildInterpretation.Belowline 374 - theorem
OAI.PureTypeSystem.OneChildInterpretation.support_outsideline 376 - theorem
OAI.PureTypeSystem.OneChildInterpretation.support_headline 379 - theorem
OAI.PureTypeSystem.OneChildInterpretation.bits_domainline 384 - theorem
OAI.PureTypeSystem.OneChildInterpretation.bits_bodyline 400 - def
OAI.PureTypeSystem.OneChildInterpretation.chosenBitline 422 - theorem
OAI.PureTypeSystem.OneChildInterpretation.bits_singleline 427 - theorem
OAI.PureTypeSystem.OneChildInterpretation.subst_profile_pathline 445 - theorem
OAI.PureTypeSystem.OneChildInterpretation.neutral_compareline 454 - theorem
OAI.PureTypeSystem.OneChildInterpretation.head_appsline 487 - theorem
OAI.PureTypeSystem.OneChildInterpretation.normal_app_headline 493 - theorem
OAI.PureTypeSystem.OneChildInterpretation.compare_substline 511Source documentation
The one-child polarity comparison at a generic normal type. The post-type may have arbitrary newly exposed normal constructors.
theorem compare_subst {Γ Δ : List (Expr S)} {A : Expr S} {s : S} (hA : HasType P Γ A (.sort s)) (hN : Normal A) (hrel : ∃ K ∈ C, Reach (PrimaryEdge P) (Profile P Γ A) K) (hΔ : ValidContext P Δ) (δ : Nat → Expr S) (hδ : TypedSubstitution P Γ Δ δ) (e : Environment Ω Δ) (θ : Bits) (dir : Bool) (hb : CompatibleBits (support (P := P) C Γ A) dir δ θ e.bits) : …Mentions: OAI.PureTypeSystem.Expr, OAI.PureTypeSystem.HasType, OAI.PureTypeSystem.Normal, OAI.PureTypeSystem.Reach, OAI.PureTypeSystem.PrimaryEdge, OAI.PureTypeSystem.Profile, OAI.PureTypeSystem.ValidContext, OAI.PureTypeSystem.TypedSubstitution, OAI.PureTypeSystem.OneChildInterpretation.Environment, OAI.PureTypeSystem.OneChildInterpretation.Bits, OAI.PureTypeSystem.OneChildInterpretation.CompatibleBits, OAI.PureTypeSystem.OneChildInterpretation.support
- theorem
OAI.PureTypeSystem.OneChildInterpretation.specializationline 658 - def
OAI.PureTypeSystem.OneChildInterpretation.componentInterfaceline 686Source documentation
One-child components need no relational exclusion: both fresh extremes are tested, and polarity selects one of those tests at specialization.
noncomputable def componentInterface : ComponentInterface Ω hw C where …
Mentions: OAI.PureTypeSystem.ComponentInterface