Skip to content

Commit

Permalink
Proved n_yank_r/l, using a large number of helper lemmas. The code is…
Browse files Browse the repository at this point in the history
… messy right now, and will need to be cleaned up. Also, added .lia.cache to .gitignore.
wjbs committed Feb 16, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 1503bd2 commit 2900feb
Showing 4 changed files with 1,003 additions and 40 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -159,4 +159,5 @@ $RECYCLE.BIN/

_build

settings.json
settings.json
.lia.cache
Binary file modified .lia.cache
Binary file not shown.
53 changes: 34 additions & 19 deletions ViCaR/GeneralLemmas.v
Original file line number Diff line number Diff line change
@@ -4,34 +4,49 @@ Require Import Monoidal.
Local Open Scope Cat.

Lemma compose_simplify_general : forall {C : Type} {Cat : Category C}
{A B M : C} (f1 f3 : A ~> B) (f2 f4 : B ~> M),
f1 ≃ f3 -> f2 ≃ f4 -> (f1 ∘ f2) ≃ (f3 ∘ f4).
{A B M : C} (f1 f3 : A ~> B) (f2 f4 : B ~> M),
f1 ≃ f3 -> f2 ≃ f4 -> (f1 ∘ f2) ≃ (f3 ∘ f4).
Proof.
intros.
rewrite H, H0.
reflexivity.
intros.
rewrite H, H0.
reflexivity.
Qed.

Lemma stack_simplify_general : forall {C : Type}
{Cat : Category C} {MonCat : MonoidalCategory C}
{A B M N : C} (f1 f3 : A ~> B) (f2 f4 : M ~> N),
f1 ≃ f3 -> f2 ≃ f4 -> (f1 ⊗ f2) ≃ (f3 ⊗ f4).
{Cat : Category C} {MonCat : MonoidalCategory C}
{A B M N : C} (f1 f3 : A ~> B) (f2 f4 : M ~> N),
f1 ≃ f3 -> f2 ≃ f4 -> (f1 ⊗ f2) ≃ (f3 ⊗ f4).
Proof.
intros.
rewrite H, H0.
reflexivity.
intros.
rewrite H, H0.
reflexivity.
Qed.

Lemma nwire_stack_compose_topleft_general : forall {C : Type}
{Cat : Category C} {MonCat : MonoidalCategory C}
{topIn botIn topOut botOut : C}
(f0 : botIn ~> botOut) (f1 : topIn ~> topOut),
((c_identity topIn) ⊗ f0) ∘ (f1 ⊗ (c_identity botOut)) ≃ (f1 ⊗ f0).
{Cat : Category C} {MonCat : MonoidalCategory C}
{topIn botIn topOut botOut : C}
(f0 : botIn ~> botOut) (f1 : topIn ~> topOut),
((c_identity topIn) ⊗ f0) ∘ (f1 ⊗ (c_identity botOut)) ≃ (f1 ⊗ f0).
Proof.
intros.
rewrite <- bifunctor_comp.
rewrite left_unit; rewrite right_unit.
easy.
intros.
rewrite <- bifunctor_comp.
rewrite left_unit; rewrite right_unit.
easy.
Qed.

Lemma nwire_stackcompose_topright_general : forall {C : Type}
{Cat: Category C} {MonCat : MonoidalCategory C}
{topIn botIn topOut botOut : C}
(f0 : topIn ~> topOut) (f1 : botIn ~> botOut),
(f0 ⊗ (c_identity botIn)) ∘ ((c_identity topOut) ⊗ f1) ≃ (f0 ⊗ f1).
Proof.
intros.
rewrite <- bifunctor_comp.
rewrite right_unit, left_unit.
easy.
Qed.




Local Close Scope Cat.
Loading

0 comments on commit 2900feb

Please sign in to comment.