Mercurial > hg > Members > kono > Proof > galois
comparison src/sym5a.agda @ 255:6d1619d9f880
library
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 09 Jan 2021 10:18:08 +0900 |
parents | sym5a.agda@d782dd481a26 |
children | f59a9f4cfd78 |
comparison
equal
deleted
inserted
replaced
254:a5b3061f15ee | 255:6d1619d9f880 |
---|---|
1 open import Level hiding ( suc ; zero ) | |
2 open import Algebra | |
3 module sym5a where | |
4 | |
5 open import Symmetric | |
6 open import Data.Unit using (⊤ ; tt ) | |
7 open import Function.Inverse as Inverse using (_↔_; Inverse; _InverseOf_) | |
8 open import Function hiding (flip) | |
9 open import Data.Nat hiding (_⊔_) -- using (ℕ; suc; zero) | |
10 open import Data.Nat.Properties | |
11 open import Relation.Nullary | |
12 open import Data.Empty | |
13 open import Data.Product | |
14 | |
15 open import Gutil | |
16 open import Putil | |
17 open import Solvable using (solvable) | |
18 open import Relation.Binary.PropositionalEquality hiding ( [_] ) | |
19 | |
20 open import Data.Fin hiding (_<_ ; _≤_ ; lift ) | |
21 open import Data.Fin.Permutation hiding (_∘ₚ_) | |
22 | |
23 infixr 200 _∘ₚ_ | |
24 _∘ₚ_ = Data.Fin.Permutation._∘ₚ_ | |
25 | |
26 open import Data.List hiding ( [_] ) | |
27 open import nat | |
28 open import fin | |
29 open import logic | |
30 | |
31 open _∧_ | |
32 | |
33 ¬sym5solvable : ¬ ( solvable (Symmetric 5) ) | |
34 ¬sym5solvable sol = counter-example (end5 (abc 0<3 0<4 ) (any3de (dervied-length sol) 3rot 0<3 0<4 ) ) where | |
35 -- | |
36 -- dba 1320 d → b → a → d | |
37 -- (dba)⁻¹ 3021 a → b → d → a | |
38 -- aec 21430 | |
39 -- (aec)⁻¹ 41032 | |
40 -- [ dba , aec ] = (abd)(cea)(dba)(aec) = abc | |
41 -- so commutator always contains abc, dba and aec | |
42 | |
43 open ≡-Reasoning | |
44 | |
45 open solvable | |
46 open Solvable ( Symmetric 5) | |
47 end5 : (x : Permutation 5 5) → deriving (dervied-length sol) x → x =p= pid | |
48 end5 x der = end sol x der | |
49 | |
50 0<4 : 0 < 4 | |
51 0<4 = s≤s z≤n | |
52 | |
53 0<3 : 0 < 3 | |
54 0<3 = s≤s z≤n | |
55 | |
56 --- 1 ∷ 2 ∷ 0 ∷ [] abc | |
57 3rot : Permutation 3 3 | |
58 3rot = pid {3} ∘ₚ pins (n≤ 2) | |
59 | |
60 save2 : {i j : ℕ } → (i ≤ 3 ) → ( j ≤ 4 ) → Permutation 5 5 | |
61 save2 i<3 j<4 = flip (pins (s≤s i<3)) ∘ₚ flip (pins j<4) | |
62 | |
63 -- Permutation 5 5 include any Permutation 3 3 | |
64 any3 : {i j : ℕ } → Permutation 3 3 → (i ≤ 3 ) → ( j ≤ 4 ) → Permutation 5 5 | |
65 any3 abc i<3 j<4 = (save2 i<3 j<4 ∘ₚ (pprep (pprep abc))) ∘ₚ flip (save2 i<3 j<4 ) | |
66 | |
67 any3cong : {i j : ℕ } → {x y : Permutation 3 3 } → {i<3 : i ≤ 3 } → {j<4 : j ≤ 4 } → x =p= y → any3 x i<3 j<4 =p= any3 y i<3 j<4 | |
68 any3cong {i} {j} {x} {y} {i<3} {j<4} x=y = presp {5} {save2 i<3 j<4 ∘ₚ (pprep (pprep x))} {_} {flip (save2 i<3 j<4 )} | |
69 (presp {5} {save2 i<3 j<4} prefl (pprep-cong (pprep-cong x=y)) ) prefl | |
70 | |
71 open _=p=_ | |
72 | |
73 -- derving n includes any Permutation 3 3, | |
74 any3de : {i j : ℕ } → (n : ℕ) → (abc : Permutation 3 3) → (i<3 : i ≤ 3 ) → (j<4 : j ≤ 4 ) → deriving n (any3 abc i<3 j<4) | |
75 any3de {i} {j} zero abc i<3 j<4 = Level.lift tt | |
76 any3de {i} {j} (suc n) abc i<3 j<4 = ccong abc-from-comm (comm (any3de n (abc ∘ₚ abc) i<3 j0<4 ) (any3de n (abc ∘ₚ abc) i0<3 j<4 )) where | |
77 i0 : ℕ | |
78 i0 = ? | |
79 j0 : ℕ | |
80 j0 = ? | |
81 i0<3 : i0 ≤ 3 | |
82 i0<3 = {!!} | |
83 j0<4 : j0 ≤ 4 | |
84 j0<4 = {!!} | |
85 abc-from-comm : [ any3 (abc ∘ₚ abc) i<3 j0<4 , any3 (abc ∘ₚ abc) i0<3 j<4 ] =p= any3 abc i<3 j<4 | |
86 abc-from-comm = {!!} | |
87 | |
88 abc : {i j : ℕ } → (i ≤ 3 ) → ( j ≤ 4 ) → Permutation 5 5 | |
89 abc i<3 j<4 = any3 3rot i<3 j<4 | |
90 | |
91 counter-example : ¬ (abc 0<3 0<4 =p= pid ) | |
92 counter-example eq with ←pleq _ _ eq | |
93 ... | () | |
94 |