Skip to content

Commit b918f1c

Browse files
nickdrozdgallais
authored andcommitted
Simplify 01W Preorder
1 parent 5d70c74 commit b918f1c

File tree

1 file changed

+15
-17
lines changed

1 file changed

+15
-17
lines changed

src/Algebra/ZeroOneOmega.idr

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,22 @@ data ZeroOneOmega = Rig0 | Rig1 | RigW
1010

1111
export
1212
Preorder ZeroOneOmega where
13-
Rig0 <= _ = True
13+
Rig0 <= _ = True
1414
Rig1 <= Rig1 = True
15-
Rig1 <= RigW = True
16-
RigW <= RigW = True
17-
_ <= _ = False
15+
_ <= RigW = True
16+
_ <= _ = False
1817
preorderRefl {x = Rig0} = Refl
1918
preorderRefl {x = Rig1} = Refl
2019
preorderRefl {x = RigW} = Refl
21-
preorderTrans {x = Rig0} {y = y} {z = z} a b = Refl
22-
preorderTrans {x = Rig1} {y = Rig0} {z = Rig0} Refl Refl impossible
23-
preorderTrans {x = Rig1} {y = Rig1} {z = Rig0} _ Refl impossible
24-
preorderTrans {x = Rig1} {y = RigW} {z = Rig0} _ Refl impossible
25-
preorderTrans {x = Rig1} {y = y} {z = Rig1} a b = Refl
26-
preorderTrans {x = Rig1} {y = y} {z = RigW} a b = Refl
27-
preorderTrans {x = RigW} {y = Rig0} {z = _} Refl _ impossible
28-
preorderTrans {x = RigW} {y = Rig1} {z = _} Refl _ impossible
29-
preorderTrans {x = RigW} {y = RigW} {z = z} a b = b
20+
preorderTrans {x = Rig0} _ _ = Refl
21+
preorderTrans {x = Rig1} {y = Rig0} _ _ impossible
22+
preorderTrans {x = Rig1} {y = Rig1} _ yz = yz
23+
preorderTrans {x = Rig1} {y = RigW} {z = Rig0} _ _ impossible
24+
preorderTrans {x = Rig1} {y = RigW} {z = Rig1} _ _ = Refl
25+
preorderTrans {x = Rig1} {y = RigW} {z = RigW} _ _ = Refl
26+
preorderTrans {x = RigW} {y = Rig0} _ _ impossible
27+
preorderTrans {x = RigW} {y = Rig1} _ _ impossible
28+
preorderTrans {x = RigW} {y = RigW} _ yz = yz
3029

3130
public export
3231
Eq ZeroOneOmega where
@@ -45,17 +44,16 @@ export
4544
rigPlus : ZeroOneOmega -> ZeroOneOmega -> ZeroOneOmega
4645
rigPlus Rig0 a = a
4746
rigPlus a Rig0 = a
48-
rigPlus Rig1 a = RigW
49-
rigPlus a Rig1 = RigW
50-
rigPlus RigW RigW = RigW
47+
rigPlus _ _ = RigW
5148

5249
export
5350
rigMult : ZeroOneOmega -> ZeroOneOmega -> ZeroOneOmega
5451
rigMult Rig0 _ = Rig0
5552
rigMult _ Rig0 = Rig0
5653
rigMult Rig1 a = a
5754
rigMult a Rig1 = a
58-
rigMult RigW RigW = RigW
55+
rigMult _ _ = RigW
56+
5957

6058
public export
6159
Semiring ZeroOneOmega where

0 commit comments

Comments
 (0)