summaryrefslogtreecommitdiff
path: root/Nominal
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2025-11-30 22:20:35 +0100
committerHannes Schulze <haschu0103@outlook.de>2025-11-30 22:33:32 +0100
commite02ad2dcc0f93107c18f8316b386b92b45548e97 (patch)
treee1c341a5fe9be21a2d2ed9086dd19f3d29fee8f0 /Nominal
parentea38ef0cb2c57e10696c7fb6108732a6f454818c (diff)
update lean
Diffstat (limited to 'Nominal')
-rw-r--r--Nominal/Helpers/CountableString.lean4
-rw-r--r--Nominal/LambdaCalculus/Preterms.lean2
-rw-r--r--Nominal/LambdaCalculus/Terms.lean7
-rw-r--r--Nominal/Support.lean4
4 files changed, 12 insertions, 5 deletions
diff --git a/Nominal/Helpers/CountableString.lean b/Nominal/Helpers/CountableString.lean
index 7d2fcb7..7d94516 100644
--- a/Nominal/Helpers/CountableString.lean
+++ b/Nominal/Helpers/CountableString.lean
@@ -9,4 +9,6 @@ instance : Countable Char where
instance : Countable String := Countable.of_equiv (List Char)
{ toFun := String.mk
- invFun := String.data }
+ invFun := String.data
+ left_inv x := by simp
+ right_inv x := by simp }
diff --git a/Nominal/LambdaCalculus/Preterms.lean b/Nominal/LambdaCalculus/Preterms.lean
index 74f7397..c133343 100644
--- a/Nominal/LambdaCalculus/Preterms.lean
+++ b/Nominal/LambdaCalculus/Preterms.lean
@@ -114,7 +114,7 @@ instance : NominalSet Var Preterm where
simp only [PermSet.fix', smul_abs, Preterm.abs.injEq, Set.mem_setOf_eq]
simp only [PermSet.fix, vars, Set.singleton_union, Set.mem_insert_iff, forall_eq_or_imp, Set.mem_setOf_eq] at hπ
exact ⟨hπ.left, a_ih.left hπ.right⟩
- · simp [vars, Set.Finite.insert, a_ih]
+ · simp [vars, a_ih]
· constructor
· intro π hπ
simp only [PermSet.fix', smul_app, Preterm.app.injEq, Set.mem_setOf_eq]
diff --git a/Nominal/LambdaCalculus/Terms.lean b/Nominal/LambdaCalculus/Terms.lean
index 2118156..c698b65 100644
--- a/Nominal/LambdaCalculus/Terms.lean
+++ b/Nominal/LambdaCalculus/Terms.lean
@@ -229,7 +229,12 @@ private def equiv : EquivariantEquiv Var Term (Var ⊕ (NameAbstraction Var Term
(by
intro t u htu
cases htu
- sorry)
+ · sorry
+ · sorry
+ · sorry
+ · sorry
+ · sorry
+ · sorry)
invFun
| .inl x => .var x
| .inr (.inl x) => Quotient.liftOn x
diff --git a/Nominal/Support.lean b/Nominal/Support.lean
index b8e6809..93e7aaa 100644
--- a/Nominal/Support.lean
+++ b/Nominal/Support.lean
@@ -153,9 +153,9 @@ lemma support_inter {x : X} {S T : Set 𝔸} : HasSupport 𝔸 x S → S.Finite
/-- For a finite number of finite supports, the intersection is also a support. -/
lemma support_sInter {x : X} {C : Set (Set 𝔸)}: C.Finite → C.Nonempty → (∀ S ∈ C, HasSupport 𝔸 x S ∧ S.Finite) → HasSupport 𝔸 x (⋂₀ C) := by
- suffices (C : Finset (Set 𝔸)) : C.Nonempty → (∀ S ∈ C, HasSupport 𝔸 x S ∧ S.Finite) → HasSupport 𝔸 x (⋂₀ C.toSet) ∧ (⋂₀ C.toSet).Finite
+ suffices (C : Finset (Set 𝔸)) : C.Nonempty → (∀ S ∈ C, HasSupport 𝔸 x S ∧ S.Finite) → HasSupport 𝔸 x (⋂₀ C) ∧ (⋂₀ (↑C : Set (Set 𝔸))).Finite
· intro hfin
- rw [show C = hfin.toFinset.toSet by simp]
+ rw [show C = hfin.toFinset by simp]
intro hne h
exact (this hfin.toFinset hne h).left
· have : DecidableEq (Set 𝔸) := Classical.typeDecidableEq (Set 𝔸)