summaryrefslogtreecommitdiff
path: root/Nominal/LambdaCalculus/Preterms.lean
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2025-12-03 20:34:41 +0100
committerHannes Schulze <haschu0103@outlook.de>2025-12-03 20:34:41 +0100
commit71a6a3d5b6f4b428b463bc4a0766c91d8c1d5768 (patch)
treeadd4bf6d650df4b8ec743de45fc37dc7de16baaa /Nominal/LambdaCalculus/Preterms.lean
parent4ba4f11725d42286a2e94ee78dd938636ad2528a (diff)
refactor equivariant props to use type classes
Diffstat (limited to 'Nominal/LambdaCalculus/Preterms.lean')
-rw-r--r--Nominal/LambdaCalculus/Preterms.lean10
1 files changed, 5 insertions, 5 deletions
diff --git a/Nominal/LambdaCalculus/Preterms.lean b/Nominal/LambdaCalculus/Preterms.lean
index c133343..81622af 100644
--- a/Nominal/LambdaCalculus/Preterms.lean
+++ b/Nominal/LambdaCalculus/Preterms.lean
@@ -141,7 +141,7 @@ private def equiv : EquivariantEquiv Var Preterm (Var ⊕ (Var × Preterm) ⊕ (
| inl _ => simp
| inr x' => cases x' <;> all_goals simp
toFun_equivariant := by
- intro t π
+ constructor; intro t π
cases t <;> all_goals simp
}
@@ -181,13 +181,13 @@ lemma fv_finite (t : Preterm) : t.fv.Finite := by
apply Set.Finite.subset (vars_finite t) (fv_subset_vars t)
/-- The vars map is equivariant. -/
-lemma vars_equivariant : Function.Equivariant Var vars := by
- intro t π
+instance instVarsEquivariant : Function.Equivariant Var vars := by
+ constructor; intro t π
fun_induction vars <;> all_goals simp [vars, *, Set.smul_set_insert, Set.smul_set_union]
/-- The fv map is equivariant. -/
-lemma fv_equivariant : Function.Equivariant Var fv := by
- intro t π
+instance instFvEquivariant : Function.Equivariant Var fv := by
+ constructor; intro t π
fun_induction fv <;> all_goals simp [fv, *, Set.smul_set_sdiff, Set.smul_set_union]
end Preterm