-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-- https://cjquines.com/files/binaryoperations.pdf
import Mathlib
example {α} (f : α → α → α) (l r : α) (hl : ∀ x, f l x = x) (hr : ∀ x, f x r = x) : l = r := by
have h₁ : f l r = l := by
grind
grind
example {α} (f : α → α → α) (h : ∀ x y z, f x z = y ∧ ∀ z' ≠ z, f x z' ≠ y) : ∃ g : α → α → α, ∀ x y, f x (g x y) = g x (f x y) ∧ f x (g x y) = y := by
sorry
example {α} (f g : α → α → α) (i j : α) (hid : ∀ x, f i x = x ∧ f x i = x ∧ g j x = x ∧ g x j = x) (h : ∀ x y z w, f (g x y) (g z w) = g (f x z) (f y w)) : f = g := by
have h₁ (x : α) : f x j = x := by
specialize h x j j i
grind
have h₂ : i = j := by
specialize hid j
grind
have h₃ (x y : α) : f x y = g x y := by
specialize h x i i y
grind
grind