@@ -15,31 +15,29 @@ open import Algebra.Definitions _≈_
15
15
open import Relation.Binary.Reasoning.Setoid setoid
16
16
open import Data.Product.Base using (_,_)
17
17
18
+ y≈x\\z : ∀ x y z → x ∙ y ≈ z → y ≈ x \\ z
19
+ y≈x\\z x y z eq = begin
20
+ y ≈⟨ leftDividesʳ x y ⟨
21
+ x \\ (x ∙ y) ≈⟨ \\-congˡ eq ⟩
22
+ x \\ z ∎
23
+
24
+ x≈z//y : ∀ x y z → x ∙ y ≈ z → x ≈ z // y
25
+ x≈z//y x y z eq = begin
26
+ x ≈⟨ rightDividesʳ y x ⟨
27
+ (x ∙ y) // y ≈⟨ //-congʳ eq ⟩
28
+ z // y ∎
29
+
18
30
cancelˡ : LeftCancellative _∙_
19
31
cancelˡ x y z eq = begin
20
- y ≈⟨ leftDividesʳ x y ⟨
21
- x \\ (x ∙ y) ≈⟨ \\-congˡ eq ⟩
32
+ y ≈⟨ y≈x\\z x y (x ∙ z) eq ⟩
22
33
x \\ (x ∙ z) ≈⟨ leftDividesʳ x z ⟩
23
34
z ∎
24
35
25
36
cancelʳ : RightCancellative _∙_
26
37
cancelʳ x y z eq = begin
27
- y ≈⟨ rightDividesʳ x y ⟨
28
- (y ∙ x) // x ≈⟨ //-congʳ eq ⟩
38
+ y ≈⟨ x≈z//y y x (z ∙ x) eq ⟩
29
39
(z ∙ x) // x ≈⟨ rightDividesʳ x z ⟩
30
40
z ∎
31
41
32
42
cancel : Cancellative _∙_
33
43
cancel = cancelˡ , cancelʳ
34
-
35
- y≈x\\z : ∀ x y z → x ∙ y ≈ z → y ≈ x \\ z
36
- y≈x\\z x y z eq = begin
37
- y ≈⟨ leftDividesʳ x y ⟨
38
- x \\ (x ∙ y) ≈⟨ \\-congˡ eq ⟩
39
- x \\ z ∎
40
-
41
- x≈z//y : ∀ x y z → x ∙ y ≈ z → x ≈ z // y
42
- x≈z//y x y z eq = begin
43
- x ≈⟨ rightDividesʳ y x ⟨
44
- (x ∙ y) // y ≈⟨ //-congʳ eq ⟩
45
- z // y ∎
0 commit comments