Mercurial > hg > Members > kono > Proof > galois
changeset 24:882ee60695c5
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 19 Aug 2020 09:14:29 +0900 |
parents | b133ef55b395 |
children | fab3609ac3f3 |
files | Symmetric.agda |
diffstat | 1 files changed, 10 insertions(+), 53 deletions(-) [+] |
line wrap: on
line diff
--- a/Symmetric.agda Wed Aug 19 08:50:17 2020 +0900 +++ b/Symmetric.agda Wed Aug 19 09:14:29 2020 +0900 @@ -15,30 +15,9 @@ open import Data.Nat.Properties -- using (<-trans) open import Relation.Binary.PropositionalEquality open import Data.List using (List; []; _∷_ ; length) -open import Data.List.Relation.Binary.Permutation.Inductive renaming ( refl to irefl ; trans to itrans ) +-- open import Data.List.Relation.Binary.Permutation.Inductive renaming ( refl to irefl ; trans to itrans ) open import nat - -f1 : Fin 3 → Fin 3 -f1 zero = suc (suc zero) -f1 (suc zero) = zero -f1 (suc (suc zero)) = suc zero - -lemma1 : Permutation 3 3 -lemma1 = permutation f1 ( f1 ∘ f1 ) lemma2 where - lemma3 : (x : Fin 3 ) → f1 (f1 (f1 x)) ≡ x - lemma3 zero = refl - lemma3 (suc zero) = refl - lemma3 (suc (suc zero)) = refl - lemma2 : :→-to-Π (λ x → f1 (f1 x)) InverseOf :→-to-Π f1 - lemma2 = record { left-inverse-of = λ x → lemma3 x ; right-inverse-of = λ x → lemma3 x } - -finpid : (n i : ℕ ) → i < n → List (Fin n) -finpid (suc n) zero _ = fromℕ≤ {zero} (s≤s z≤n) ∷ [] -finpid (suc n) (suc i) (s≤s lt) = fromℕ≤ (s≤s lt) ∷ finpid (suc n) i (<-trans lt a<sa) - -fpid : (n : ℕ ) → List (Fin n) -fpid 0 = [] -fpid (suc j) = finpid (suc j) j a<sa where +open import logic fid : {p : ℕ } → Fin p → Fin p fid x = x @@ -104,19 +83,6 @@ open import Relation.Binary.Core open import fin -flist>0 : ( n : ℕ ) → n > 0 → length (fpid n) ≡ n -flist>0 (suc n) _ = fn (suc n) n a<sa where - fn : (n i : ℕ ) → (i<n : i < n ) → (length (finpid n i i<n)) ≡ suc i - fn (suc n) zero _ = refl - fn (suc n) (suc i) (s≤s i<n) = cong (λ k → suc k ) (fn (suc n) i (<-trans i<n a<sa )) - -record Pincl (i j : ℕ ) (p→i : Fin (suc (suc j)) → Fin (suc (suc j))) : Set (Level.suc Level.zero ) where - field - p←i : (x : Fin (suc (suc j)) ) → (i≤x : toℕ x < i ) → Fin (suc (suc j)) - piso←i : ( x : Fin (suc (suc j)) ) → (i≤x : toℕ (p→i x) < i ) → p←i (p→i x) i≤x ≡ x - piso→i : ( x : Fin (suc (suc j)) ) → (i≤x : toℕ x < i ) → p→i ( p←i x i≤x ) ≡ x - - fperm : {n m : ℕ} → m < n → Permutation n n → Permutation (suc n) (suc n) fperm {zero} () fperm {suc n} {m} (s≤s m<n) perm = permutation p→ p← record { left-inverse-of = piso← ; right-inverse-of = piso→ } where @@ -128,24 +94,15 @@ p→ x | tri≈ ¬a b ¬c = fromℕ≤ a<sa p→ x | tri> ¬a ¬b c = fin+1 (perm ⟨$⟩ʳ (fromℕ≤ (pred<n {_} {x} 0<s ))) - pincl : Pincl (suc (suc n)) n p→ - pincl = pincl1 (suc (suc n)) where - pincl1 : (i : ℕ ) → Pincl i n p→ - pincl1 0 = record { p←i = λ x () ; piso←i = λ x () ; piso→i = λ x () } - pincl1 (suc i) = pincl2 (fromℕ≤ a<sa ) where - pincl2 : (y : Fin (suc (suc n))) → Pincl (suc i) n p→ - pincl2 zero = {!!} - pincl2 (suc y) = {!!} - - -- with pincl1 i - -- ... | p = record { p←i = λ x i<x → p1 x i<x ; piso←i = λ x i<x → {!!} ; piso→i = λ x i<x → {!!} } where - -- j = n - -- p1 : (x : Fin (suc (suc j)) ) → (i≤x : toℕ x < suc i ) → Fin (suc (suc j)) - -- p1 x i≤x = {!!} + pincl : (Fin (suc (suc n)) → Fin (suc (suc n))) + ∧ (( p←i : Fin (suc (suc n)) → Fin (suc (suc n))) → (x : Fin (suc (suc n)) ) → p←i (p→ x) ≡ x ) + ∧ (( p←i : Fin (suc (suc n)) → Fin (suc (suc n))) → (x : Fin (suc (suc n)) ) → p→ (p←i x) ≡ x ) + pincl = {!!} + open _∧_ p← : Fin (suc (suc n)) → Fin (suc (suc n)) - p← x = Pincl.p←i pincl x fin<n + p← = proj1 pincl piso← : (x : Fin (suc (suc n))) → p← ( p→ x ) ≡ x - piso← x = Pincl.piso←i pincl x fin<n + piso← = proj1 (proj2 pincl) p← piso→ : (x : Fin (suc (suc n))) → p→ ( p← x ) ≡ x - piso→ x = Pincl.piso→i pincl x fin<n + piso→ = proj2 (proj2 pincl) p←