diff options
| author | Hannes Schulze <haschu0103@outlook.de> | 2025-11-30 22:20:35 +0100 |
|---|---|---|
| committer | Hannes Schulze <haschu0103@outlook.de> | 2025-11-30 22:33:32 +0100 |
| commit | e02ad2dcc0f93107c18f8316b386b92b45548e97 (patch) | |
| tree | e1c341a5fe9be21a2d2ed9086dd19f3d29fee8f0 /Nominal | |
| parent | ea38ef0cb2c57e10696c7fb6108732a6f454818c (diff) | |
update lean
Diffstat (limited to 'Nominal')
| -rw-r--r-- | Nominal/Helpers/CountableString.lean | 4 | ||||
| -rw-r--r-- | Nominal/LambdaCalculus/Preterms.lean | 2 | ||||
| -rw-r--r-- | Nominal/LambdaCalculus/Terms.lean | 7 | ||||
| -rw-r--r-- | Nominal/Support.lean | 4 |
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 𝔸) |
