From 2e5f7e22761bd30857bbe067862a8b256805ecd8 Mon Sep 17 00:00:00 2001 From: Hannes Schulze Date: Wed, 15 Apr 2026 16:18:07 +0200 Subject: fs constructions --- Nominal/Support.lean | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Nominal/Support.lean') 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'] -- cgit v1.3.1