Library HoTT.Tests.WildCat.AbEnriched
From HoTT Require Import WildCat.SetoidRewrite WildCat.Core WildCat.AbEnriched.
From HoTT Require Import Basics.Overture.
Local Open Scope mc_add_scope.
From HoTT Require Import Basics.Overture.
Local Open Scope mc_add_scope.
Test that setoid rewriting works with the additive structure.
Definition test1 (A : Type) `{IsAbGroup_0gpd A}
{a b c d : A} (p : b $== c) (q : c $== d)
: b + a $== d + a.
Proof.
rewrite p.
rewrite <- q.
reflexivity.
Defined.
Definition test2 (A : Type) `{IsAbGroup_0gpd A}
{a b c d : A} (p : b $== c) (q : c $== d)
: a + b $== a + d.
Proof.
rewrite p.
rewrite <- q.
reflexivity.
Defined.
Definition test3 (A : Type) `{IsAbGroup_0gpd A}
{a b c d : A} (p : a $== c) (q : b $== d)
: a - b $== c - d.
Proof.
rewrite p.
rewrite <- q.
reflexivity.
Defined.
Definition test4 (A : Type) `{IsAbGroup_0gpd A}
{a b : A} (p : a $== b)
: - a $== - b.
Proof.
rewrite p.
reflexivity.
Defined.
Test rewriting just on LHS of a sum.
Definition test5 (A : Type) `{IsAbGroup_0gpd A}
{a b c : A} (p : a $== b)
: a + c $== b + c.
Proof.
rewrite p.
reflexivity.
Defined.
{a b c : A} (p : a $== b)
: a + c $== b + c.
Proof.
rewrite p.
reflexivity.
Defined.
Test rewriting just on RHS of a sum.
Definition test6 (A : Type) `{IsAbGroup_0gpd A}
{a b c : A} (p : a $== b)
: c + a $== c + b.
Proof.
rewrite p.
reflexivity.
Defined.
{a b c : A} (p : a $== b)
: c + a $== c + b.
Proof.
rewrite p.
reflexivity.
Defined.
Test rewriting simultaneously on both sides of a sum.