test(tests/lean/hott): add test for rewriter in the HoTT version
This commit is contained in:
parent
61a029d9df
commit
90eb5c8ca5
1 changed files with 19 additions and 0 deletions
19
tests/lean/hott/rewriter1.hlean
Normal file
19
tests/lean/hott/rewriter1.hlean
Normal file
|
@ -0,0 +1,19 @@
|
|||
import algebra.group
|
||||
open path_algebra
|
||||
|
||||
constant f {A : Type} : A → A → A
|
||||
|
||||
theorem test1 {A : Type} [s : add_comm_group A] (a b c : A) : f (a + 0) (f (a + 0) (a + 0)) = f a (f (0 + a) a) :=
|
||||
begin
|
||||
rewrite
|
||||
add_right_id at {1 3} -- rewrite 1st and 3rd occurrences
|
||||
[0 + _]add_comm -- apply commutativity to (0 + _)
|
||||
end
|
||||
|
||||
axiom Ax {A : Type} [s₁ : has_mul A] [s₂ : has_one A] (a : A) : f (a * 1) (a * 1) = 1
|
||||
|
||||
theorem test2 {A : Type} [s : comm_group A] (a b c : A) : f a a = 1 :=
|
||||
begin
|
||||
rewrite -(mul_right_id a) -- - means apply symmetry, rewrite 0 ==> a * 0 at 1st and 2nd occurrences
|
||||
Ax -- use Ax as rewrite rule
|
||||
end
|
Loading…
Reference in a new issue