Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cslib.lean
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ public import Cslib.Languages.CombinatoryLogic.Confluence
public import Cslib.Languages.CombinatoryLogic.Defs
public import Cslib.Languages.CombinatoryLogic.Evaluation
public import Cslib.Languages.CombinatoryLogic.List
public import Cslib.Languages.CombinatoryLogic.PartrecEquivalence
public import Cslib.Languages.CombinatoryLogic.Recursion
public import Cslib.Languages.LambdaCalculus.LocallyNameless.Context
public import Cslib.Languages.LambdaCalculus.LocallyNameless.Fsub.Basic
Expand Down
1 change: 1 addition & 0 deletions Cslib/Languages/CombinatoryLogic/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,7 @@ theorem cond_correct (a x y : SKI) (u : Bool) (h : IsBool u a) :

/-- Neg := λ a. Cond FF TT a -/
protected def Neg : SKI := SKI.Cond ⬝ FF ⬝ TT
@[scoped grind →]
theorem neg_correct (a : SKI) (ua : Bool) (h : IsBool ua a) : IsBool (¬ ua) (SKI.Neg ⬝ a) := by
apply isBool_trans (a' := if ua then FF else TT)
· apply cond_correct (h := h)
Expand Down
1 change: 1 addition & 0 deletions Cslib/Languages/CombinatoryLogic/List.lean
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ theorem nil_def (c n : SKI) : (Nil ⬝ c ⬝ n) ↠ n :=
NilPoly.toSKI_correct [c, n] (by simp)

/-- The empty list term correctly represents `[]`. -/
@[scoped grind .]
theorem nil_correct : IsChurchList [] Nil := nil_def

/-! ### Cons: Consing an element onto a list -/
Expand Down
Loading