summaryrefslogtreecommitdiff
path: root/Nominal/Support.lean
diff options
context:
space:
mode:
Diffstat (limited to 'Nominal/Support.lean')
-rw-r--r--Nominal/Support.lean10
1 files changed, 10 insertions, 0 deletions
diff --git a/Nominal/Support.lean b/Nominal/Support.lean
index fde20c7..bb2ec92 100644
--- a/Nominal/Support.lean
+++ b/Nominal/Support.lean
@@ -33,6 +33,11 @@ def fix (A : Set X) : Set (FPerm ๐”ธ) :=
def HasSupport (x : X) (S : Set ๐”ธ) : Prop :=
fix ๐”ธ S โІ fix' ๐”ธ x
+lemma perm_fixes_iff_inv_fixes {X : Type} [PermSet ๐”ธ X] (ฯ€ : FPerm ๐”ธ) (x : X) : ฯ€ โ€ข x = x โ†” ฯ€โปยน โ€ข x = x := by
+ constructor
+ ยท intro h; nth_rw 1 [โ† h]; simp
+ ยท intro h; nth_rw 1 [โ† h]; simp
+
/-- fix is antitone: If S โІ T, then fix S โЇ fix T. -/
lemma fix_antitone {X : Type} [PermSet ๐”ธ X] {S T : Set X} : S โІ T โ†’ PermSet.fix ๐”ธ T โІ PermSet.fix ๐”ธ S := by
intro hsub ฯ€ hฯ€ x hx
@@ -48,6 +53,11 @@ lemma fix_antitone_mem {X : Type} [PermSet ๐”ธ X] {S T : Set X} {ฯ€ : FPerm ๐”
lemma fix_union {X : Type} [PermSet ๐”ธ X] {S T : Set X} : PermSet.fix ๐”ธ (S โˆช T) โІ PermSet.fix ๐”ธ S โˆฉ PermSet.fix ๐”ธ T := by
apply Set.subset_inter <;> all_goals simp [fix_antitone]
+lemma fix_inv {X : Type} [PermSet ๐”ธ X] {S : Set X} {ฯ€ : FPerm ๐”ธ} : ฯ€ โˆˆ PermSet.fix ๐”ธ S โ†” ฯ€โปยน โˆˆ PermSet.fix ๐”ธ S := by
+ constructor
+ ยท intro h x hx; rw [โ† perm_fixes_iff_inv_fixes]; exact h x hx
+ ยท intro h x hx; rw [perm_fixes_iff_inv_fixes]; exact h x hx
+
/-- Alternative definition with fix ๐”ธ S unfolded. -/
lemma support_iff {x : X} {S : Set ๐”ธ} : HasSupport ๐”ธ x S โ†” โˆ€ (ฯ€ : FPerm ๐”ธ), (โˆ€ x โˆˆ S, ฯ€ x = x) โ†’ ฯ€ โˆˆ fix' ๐”ธ x := by
simp [HasSupport, fix, fix']