diff options
| author | Hannes Schulze <haschu0103@outlook.de> | 2025-12-03 20:34:41 +0100 |
|---|---|---|
| committer | Hannes Schulze <haschu0103@outlook.de> | 2025-12-03 20:34:41 +0100 |
| commit | 71a6a3d5b6f4b428b463bc4a0766c91d8c1d5768 (patch) | |
| tree | add4bf6d650df4b8ec743de45fc37dc7de16baaa /Nominal/LambdaCalculus/Preterms.lean | |
| parent | 4ba4f11725d42286a2e94ee78dd938636ad2528a (diff) | |
refactor equivariant props to use type classes
Diffstat (limited to 'Nominal/LambdaCalculus/Preterms.lean')
| -rw-r--r-- | Nominal/LambdaCalculus/Preterms.lean | 10 |
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 |
