Skip to content

Commit 7d6042a

Browse files
nickdrozdgallais
authored andcommitted
Prove associativity and commutativity for 01W
1 parent b918f1c commit 7d6042a

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

src/Algebra/ZeroOneOmega.idr

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,65 @@ Top ZeroOneOmega where
6969
topAbs {x = Rig0} = Refl
7070
topAbs {x = Rig1} = Refl
7171
topAbs {x = RigW} = Refl
72+
73+
----------------------------------------
74+
75+
rigPlusAssociative : (x, y, z : ZeroOneOmega) ->
76+
rigPlus x (rigPlus y z) = rigPlus (rigPlus x y) z
77+
rigPlusAssociative Rig0 _ _ = Refl
78+
rigPlusAssociative Rig1 Rig0 _ = Refl
79+
rigPlusAssociative Rig1 Rig1 Rig0 = Refl
80+
rigPlusAssociative Rig1 Rig1 Rig1 = Refl
81+
rigPlusAssociative Rig1 Rig1 RigW = Refl
82+
rigPlusAssociative Rig1 RigW Rig0 = Refl
83+
rigPlusAssociative Rig1 RigW Rig1 = Refl
84+
rigPlusAssociative Rig1 RigW RigW = Refl
85+
rigPlusAssociative RigW Rig0 _ = Refl
86+
rigPlusAssociative RigW Rig1 Rig0 = Refl
87+
rigPlusAssociative RigW Rig1 Rig1 = Refl
88+
rigPlusAssociative RigW Rig1 RigW = Refl
89+
rigPlusAssociative RigW RigW Rig0 = Refl
90+
rigPlusAssociative RigW RigW Rig1 = Refl
91+
rigPlusAssociative RigW RigW RigW = Refl
92+
93+
rigPlusCommutative : (x, y : ZeroOneOmega) ->
94+
rigPlus x y = rigPlus y x
95+
rigPlusCommutative Rig0 Rig0 = Refl
96+
rigPlusCommutative Rig0 Rig1 = Refl
97+
rigPlusCommutative Rig0 RigW = Refl
98+
rigPlusCommutative Rig1 Rig0 = Refl
99+
rigPlusCommutative Rig1 Rig1 = Refl
100+
rigPlusCommutative Rig1 RigW = Refl
101+
rigPlusCommutative RigW Rig0 = Refl
102+
rigPlusCommutative RigW Rig1 = Refl
103+
rigPlusCommutative RigW RigW = Refl
104+
105+
rigMultAssociative : (x, y, z : ZeroOneOmega) ->
106+
rigMult x (rigMult y z) = rigMult (rigMult x y) z
107+
rigMultAssociative Rig0 _ _ = Refl
108+
rigMultAssociative Rig1 Rig0 _ = Refl
109+
rigMultAssociative Rig1 Rig1 Rig0 = Refl
110+
rigMultAssociative Rig1 Rig1 Rig1 = Refl
111+
rigMultAssociative Rig1 Rig1 RigW = Refl
112+
rigMultAssociative Rig1 RigW Rig0 = Refl
113+
rigMultAssociative Rig1 RigW Rig1 = Refl
114+
rigMultAssociative Rig1 RigW RigW = Refl
115+
rigMultAssociative RigW Rig0 _ = Refl
116+
rigMultAssociative RigW Rig1 Rig0 = Refl
117+
rigMultAssociative RigW Rig1 Rig1 = Refl
118+
rigMultAssociative RigW Rig1 RigW = Refl
119+
rigMultAssociative RigW RigW Rig0 = Refl
120+
rigMultAssociative RigW RigW Rig1 = Refl
121+
rigMultAssociative RigW RigW RigW = Refl
122+
123+
rigMultCommutative : (x, y : ZeroOneOmega) ->
124+
rigMult x y = rigMult y x
125+
rigMultCommutative Rig0 Rig0 = Refl
126+
rigMultCommutative Rig0 Rig1 = Refl
127+
rigMultCommutative Rig0 RigW = Refl
128+
rigMultCommutative Rig1 Rig0 = Refl
129+
rigMultCommutative Rig1 Rig1 = Refl
130+
rigMultCommutative Rig1 RigW = Refl
131+
rigMultCommutative RigW Rig0 = Refl
132+
rigMultCommutative RigW Rig1 = Refl
133+
rigMultCommutative RigW RigW = Refl

0 commit comments

Comments
 (0)