File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed
libs/contrib/Control/Algebra Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -143,6 +143,20 @@ cancelRight x y z p =
143
143
rewrite groupInverseIsInverseL x in
144
144
monoidNeutralIsNeutralL z
145
145
146
+ ||| ab = 0 -> a = b^-1
147
+ neutralProductInverseR : VerifiedGroup ty => (a, b : ty) ->
148
+ a <+> b = A.neutral -> a = inverse b
149
+ neutralProductInverseR a b prf =
150
+ cancelRight b a (inverse b) $
151
+ trans prf $ sym $ groupInverseIsInverseR b
152
+
153
+ ||| ab = 0 -> a^-1 = b
154
+ neutralProductInverseL : VerifiedGroup ty => (a, b : ty) ->
155
+ a <+> b = A.neutral -> inverse a = b
156
+ neutralProductInverseL a b prf =
157
+ cancelLeft a (inverse a) b $
158
+ trans (groupInverseIsInverseL a) $ sym prf
159
+
146
160
||| For any a and b, ax = b and ya = b have solutions.
147
161
latinSquareProperty : VerifiedGroup t => (a, b : t) ->
148
162
((x : t ** a <+> x = b),
You can’t perform that action at this time.
0 commit comments