Mercurial > hg > Members > kono > Proof > galois
view sym5.agda @ 76:cef943dcd18c
rot3 corret?
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 26 Aug 2020 01:41:52 +0900 |
parents | 4b17a4daf2df |
children | fba304a25c36 |
line wrap: on
line source
open import Level hiding ( suc ; zero ) open import Algebra module sym5 where open import Symmetric open import Data.Unit using (⊤ ; tt ) open import Function.Inverse as Inverse using (_↔_; Inverse; _InverseOf_) open import Function hiding (flip) open import Data.Nat hiding (_⊔_) -- using (ℕ; suc; zero) open import Data.Nat.Properties open import Relation.Nullary open import Data.Empty open import Data.Product open import Gutil open import Putil open import Solvable using (solvable) open import Relation.Binary.PropositionalEquality hiding ( [_] ) open import Data.Fin hiding (_<_ ; _≤_ ; lift ) open import Data.Fin.Permutation open import Data.List hiding ( [_] ) open import nat ¬sym5solvable : ¬ ( solvable (Symmetric 5) ) ¬sym5solvable sol = counter-example {!!} where -- (end5 (abc ? 0<4 ) (dervie-any-3rot (dervied-length sol) 0<3 0<4 ) ) where -- -- dba 1320 d → b → a → d -- (dba)⁻¹ 3021 a → b → d → a -- aec 21430 -- (aec)⁻¹ 41032 -- (abd)(cea)(dba)(aec) -- open solvable open Solvable (Symmetric 5) end5 : (x : Permutation 5 5) → deriving (dervied-length sol) x → x =p= pid end5 x der = end sol x der 0<4 : 0 < 4 0<4 = s≤s z≤n 0<3 : 0 < 3 0<3 = s≤s z≤n --- 2 ∷ 0 ∷ 1 ∷ [] abc 3rot : Permutation 3 3 3rot = pprep (pswap (pid {0}) ) ∘ₚ pins (n≤ 1) abc : {i j : ℕ } → (i ≤ 3 ) → ( j ≤ 4 ) → Permutation 5 5 abc i<3 j<4 = (save2 ∘ₚ (pprep (pprep 3rot))) ∘ₚ flip save2 where save2 : Permutation 5 5 save2 = ( (( pid {5} ∘ₚ flip (pins (s≤s i<3) ) )) ∘ₚ flip (pins j<4)) dba-0 : {i j : ℕ } → (i < 4 ) → ( j < 3 ) → ( j < 4 ) dba-0 = {!!} dba-1 : {i j : ℕ } → (i < 4 ) → ( j < 3 ) → ( j < 3 ) dba-1 = {!!} dba : {i j : ℕ } → (i < 3 ) → ( j < 4 ) → Permutation 5 5 dba i<3 j<4 = abc {!!} (dba-0 j<4 i<3 ) aec-0 : {i j : ℕ } → (i < 4 ) → ( j < 3 ) → ( j < 4 ) aec-0 = {!!} aec-1 : {i j : ℕ } → (i < 4 ) → ( j < 3 ) → ( j < 3 ) aec-1 = {!!} aec : {i j : ℕ } → (i < 3 ) → ( j < 4 ) → Permutation 5 5 aec i<3 j<4 = abc {!!} (aec-0 j<4 i<3 ) [dba,aec]=abc : {i j : ℕ } → (i<4 : i < 4 ) → (j<3 : j < 3 ) → [ dba j<3 i<4 , aec j<3 i<4 ] =p= abc {!!} i<4 [dba,aec]=abc = {!!} --- 2 ∷ 0 ∷ 1 ∷ [] abc t10 : List (List ℕ ) t10 = t101 (n≤ 3) (n≤ 4) [] where t101 : { i j : ℕ } → i ≤ 3 → j ≤ 4 → List (List ℕ ) → List (List ℕ ) t101 z≤n z≤n t = plist (abc z≤n z≤n) ∷ t t101 z≤n (s≤s y) t = t101 (n≤ 3) (≤-trans y refl-≤s) ( plist (abc z≤n (s≤s y)) ∷ t ) t101 (s≤s x) z≤n t = t101 (≤-trans x refl-≤s) z≤n ( plist (abc (s≤s x) z≤n) ∷ t ) t101 (s≤s x) (s≤s y) t = t101 (≤-trans x refl-≤s) (s≤s y) ( plist (abc (s≤s x) (s≤s y)) ∷ t ) -- t101 (s≤s x) z≤n t = t101 (≤-trans x ?) x ( abc (s≤s x) z≤n ∷ t ) -- t101 (s≤s x) (s≤s y) t = {!!} t12 = {!!} --- 0 ∷ 1 ∷ 2 ∷ 3 ∷ 4 ∷ [] --- 1 ∷ 0 ∷ 2 ∷ 3 ∷ 4 ∷ [] --- 1 ∷ 2 ∷ 0 ∷ 3 ∷ 4 ∷ [] --- 1 ∷ 2 ∷ 3 ∷ 0 ∷ 4 ∷ [] --- 1 ∷ 2 ∷ 3 ∷ 4 ∷ 0 ∷ [] --- 2 ∷ 0 ∷ 1 ∷ 3 ∷ 4 ∷ [] abc (swap (pid {0}) ∘ₚ pins i<1 ) ∘ₚ pid --- 3 ∷ 0 ∷ 2 ∷ 1 ∷ 4 ∷ [] abc pprep (swap (pid {0}) ∘ₚ pins i<1 ) ∘ₚ pid --- 4 ∷ 0 ∷ 2 ∷ 3 ∷ 1 ∷ [] abc pprep (pprep (swap (pid {0}) ∘ₚ pins i<1 )) ∘ₚ pid --- 3 ∷ 1 ∷ 0 ∷ 2 ∷ 4 ∷ [] abc --- 4 ∷ 1 ∷ 0 ∷ 3 ∷ 2 ∷ [] abc --- 4 ∷ 1 ∷ 0 ∷ 3 ∷ 2 ∷ [] abc --- 2 ∷ 0 ∷ 1 ∷ 3 ∷ 4 ∷ [] abc --- 1 ∷ 3 ∷ 2 ∷ 0 ∷ 4 ∷ [] abd -- 2 ∷ 1 ∷ 4 ∷ 3 ∷ 0 ∷ [] cea dervie-any-3rot : (n : ℕ ) → {i j : ℕ } → (i<3 : i < 3 ) → (j<4 : j < 4 ) → deriving n (abc {!!} j<4 ) dervie-any-3rot 0 i<3 j<4 = lift tt dervie-any-3rot (suc i) i<3 j<4 = {!!} -- ccong ( [dba,aec]=abc j<4 i<3 ) ( -- comm {{!!}} {dba i<3 j<4} {aec i<3 j<4 } -- ( dervie-any-3rot i (dba-1 j<4 i<3) (dba-0 j<4 i<3 ) ) -- ( dervie-any-3rot i (aec-1 j<4 i<3) (aec-0 j<4 i<3 ) )) open _=p=_ counter-example : ¬ (abc {!!} 0<4 =p= pid ) counter-example = {!!} --- 1 ∷ 0 ∷ 2 ∷ [] --- 0 ∷ 2 ∷ 1 ∷ 3 ∷ [] --- 1 ∷ 3 ∷ 2 ∷ 0 ∷ 4 ∷ [] -- 2 ∷ 1 ∷ 3 ∷ 0 ∷ 4 ∷ [] (dba)⁻¹ = abd dba99 : Permutation 5 5 dba99 = pprep (pprep (pswap (pid {1}))) ∘ₚ pins (n≤ 3) t1 = plist dba99 ∷ plist (pinv dba99) ∷ [] -- 1 ∷ 0 ∷ [] -- 0 ∷ 2 ∷ 1 ∷ [] -- 1 ∷ 0 ∷ 3 ∷ 2 ∷ [] -- 2 ∷ 1 ∷ 4 ∷ 3 ∷ 0 ∷ [] -- 4 ∷ 1 ∷ 0 ∷ 3 ∷ 2 ∷ [] (aec)⁻¹ = cea aec99 : Permutation 5 5 aec99 = pprep (pprep (pprep (pswap (pid {0}))) ∘ₚ pins (n≤ 1)) ∘ₚ pins (n≤ 4) tt2 = plist aec99 ∷ plist (pinv aec99) ∷ []