annotate sym4.agda @ 88:405c1f727ffe

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 28 Aug 2020 11:05:45 +0900
parents sym3.agda@32004c9a70b1
children d3da6e2c0d90
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
68
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 open import Level hiding ( suc ; zero )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 open import Algebra
88
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
3 module sym4 where
68
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 open import Symmetric
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 open import Data.Unit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 open import Function.Inverse as Inverse using (_↔_; Inverse; _InverseOf_)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 open import Function
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 open import Data.Nat hiding (_⊔_) -- using (ℕ; suc; zero)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 open import Relation.Nullary
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 open import Data.Empty
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 open import Data.Product
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 open import Gutil
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 open import Putil
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 open import Solvable using (solvable)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 open import Relation.Binary.PropositionalEquality hiding ( [_] )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 open import Data.Fin
88
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
20 open import Data.Fin.Permutation hiding (_∘ₚ_)
68
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
88
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
22 infixr 200 _∘ₚ_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
23 _∘ₚ_ = Data.Fin.Permutation._∘ₚ_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
25 sym4solvable : solvable (Symmetric 4)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
26 solvable.dervied-length sym4solvable = 3
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
27 solvable.end sym4solvable x d = solved1 x {!!} where
68
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
70
32004c9a70b1 sym2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 69
diff changeset
29 open import Data.List using ( List ; [] ; _∷_ )
32004c9a70b1 sym2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 69
diff changeset
30
88
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
31 open Solvable (Symmetric 4)
68
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 -- open Group (Symmetric 2) using (_⁻¹)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
88
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
34 p0 : FL→perm ((# 0) :: ((# 0) :: ((# 0) :: ((# 0 ) :: f0)))) =p= pid
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
35 p0 = {!!} -- record { peq = p00 } where
68
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
70
32004c9a70b1 sym2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 69
diff changeset
37 open _=p=_
88
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
38
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
39 -- Klien
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
40 --
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
41 -- 1 (1,2),(3,4) (1,3),(2,4) (1,4),(2,3)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
42 -- 0 ∷ 1 ∷ 2 ∷ 3 ∷ [] , 1 ∷ 0 ∷ 3 ∷ 2 ∷ [] , 2 ∷ 3 ∷ 0 ∷ 1 ∷ [] , 3 ∷ 2 ∷ 1 ∷ 0 ∷ [] ,
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
43
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
44
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
45 data Klein : (x : Permutation 4 4 ) → Set where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
46 kid : Klein pid
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
47 ka : Klein (pswap (pswap pid))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
48 kb : Klein (pid {4} ∘ₚ pins (n≤ 3) ∘ₚ pins (n≤ 3 ) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
49 kc : Klein (pins (n≤ 3) ∘ₚ pins (n≤ 2) ∘ₚ pswap (pid {2}))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
50
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
51 a0 = pid {4}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
52 a1 = pswap (pswap (pid {0}))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
53 a2 = pid {4} ∘ₚ pins (n≤ 3) ∘ₚ pins (n≤ 3 )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
54 a3 = pins (n≤ 3) ∘ₚ pins (n≤ 2) ∘ₚ pswap (pid {2})
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
55
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
56 -- 1 0
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
57 -- 2 1 0
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
58 -- 3 2 1 0
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
59
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
60 k1 : { x : Permutation 4 4 } → Klein x → List ℕ
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
61 k1 {x} kid = plist x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
62 k1 {x} ka = plist x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
63 k1 {x} kb = plist x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
64 k1 {x} kc = plist x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
65
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
66 k2 = k1 kid ∷ k1 ka ∷ k1 kb ∷ k1 kc ∷ []
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
67 k3 = plist (a1 ∘ₚ a2 ) ∷ plist (a1 ∘ₚ a3) ∷ plist (a2 ∘ₚ a1 ) ∷ []
70
32004c9a70b1 sym2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 69
diff changeset
68
88
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
69 solved1 : (x : Permutation 4 4) → Commutator (λ x₁ → Commutator (λ x₂ → Lift (Level.suc Level.zero) ⊤) x₁) x → x =p= pid
70
32004c9a70b1 sym2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 69
diff changeset
70 solved1 = {!!}