Skip to content

Zigzag Construction#34

Open
ben-connors wants to merge 24 commits into
jdchristensen:masterfrom
ThomatoTomato:ZigzagIdentity
Open

Zigzag Construction#34
ben-connors wants to merge 24 commits into
jdchristensen:masterfrom
ThomatoTomato:ZigzagIdentity

Conversation

@ben-connors

Copy link
Copy Markdown

This PR adds the rest of the stuff completed (or nearly completed) for the zigzag construction: the zigzag construction itself, the supporting machinery in Interleaving, the almost-finished induction principle, and the concluding application of Kraus-von Raumer.

As noted in my other PR, the results in Sequential.v should eventually be superseded by a full rewrite of that file when colimits are redone, i.e. don't look too closely at it.

@jdchristensen jdchristensen left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've only just begun looking over the PR. I'll do it in pieces, and will occasionally push commits.

Comment thread theories/PushoutPath/Interleaving.v Outdated
Require Import Diagram.
Require Import Types.

(** * Suppose we have sequences [A_i] and [B_i]. An interleaving from [A_i] to [B_i] consists of two natural transformations [d : A_i => B_i] ([d] for down) and [u : B_i => A_i+1] ([u] for up), such that the following diagram is commutative:

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments of the form (** *... are meant for short headings. The provide a table of contents in the generated documentation, so they need to be brief, and not end in periods. You should create a top-level heading here, but maybe the rest should just be converted to regular comments.

Comment thread theories/PushoutPath/Interleaving.v Outdated
@@ -0,0 +1,296 @@
Require Import Basics.
Require Import Colimits.Pushout.
Require Import Basics.Tactics.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basics.Tactics is redundant.

The rest should be reordered: Basics, Types, Diagrams., Colimits.

Comment thread theories/PushoutPath/Interleaving.v Outdated
Comment on lines +54 to +55
apply ap.
exact (L n x)^.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My next commit will change this, saving one line in the later proof.

Comment thread theories/PushoutPath/Interleaving.v Outdated
Comment on lines +114 to +115
(** Construct a better section for the equivalence which is needed in the proof of the induction principle. *)
Local Definition better_section : zigzag_glue_map_inf o zigzag_glue_map_inv_inf == idmap.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This definition isn't constructing a section, it is proving that a certain map is a section. So the comment and the name need updating.

Comment thread theories/PushoutPath/Interleaving.v Outdated
snrapply Colimit_ind.
- intros n x.
simpl.
rhs nrapply (@colimp _ B n (S n) idpath x)^.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rhs already needs to invert the given path, so since you provided an inverted path, it is double-inverted. Instead, use rhs_V, which doesn't invert its path. (In general, lhs and rhs_V are the good ones, and lhs_V and rhs need to invert the path.) Using the _V versions when appropriate often also saves underscores and parentheses. BTW, this fix should simplify the proof below.

Comment thread theories/PushoutPath/Interleaving.v Outdated
Comment on lines +121 to +122
apply ap.
exact (L n x)^.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should check whether putting the inverse on the outside of the ap saves a step below.

@jdchristensen jdchristensen left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to notice the types of fixes I'm making and insert your own clean up commits to save me some work...

Comment thread theories/PushoutPath/Interleaving.v Outdated
Require Import Types.

(** * Suppose we have sequences [A_i] and [B_i]. An interleaving from [A_i] to [B_i] consists of two natural transformations [d : A_i => B_i] ([d] for down) and [u : B_i => A_i+1] ([u] for up), such that the following diagram is commutative:
(** * Suppose we have sequences [A_i] and [B_i]. An interleaving from [A_i] to [B_i] consists of two natural transformations [f : A_i => B_i] and [g : B_i => A_i+1] such that the following diagram is commutative:

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

u and d didn't match the actual names you used below.

snrapply Build_DiagramMap.
- exact f.
- intros n m [] x.
- intros n _ [] x.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

m ends up "free", so better to not introduce it at all. (If you cbn the edge before destructing it, it goes away, but this is a cheap way to achieve it.)

Comment thread theories/PushoutPath/Interleaving.v Outdated

Context (n : nat).

Definition zigzag_comp_eisretr (a : A n) : (eisretr equiv_zigzag_glue (@colim _ A n a)) = (ap (@colim _ A n.+1%nat) (U n a)^) @ (@colimp _ A n _ _ a).

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove unneeded parentheses throughout. E.g. (lhs) = (rhs) doesn't need parens, and (path1) @ (path2) doesn't either. Both = and @ have low precedence. Same with <~>.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants