Skip to content

Commit 427703b

Browse files
author
Marc Bezem
committed
edit diagram in comment + formulate interchange lemma
1 parent ce212b6 commit 427703b

File tree

1 file changed

+52
-6
lines changed

1 file changed

+52
-6
lines changed

theories/Cubical/PathSquare.v

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,22 @@ Local Unset Elimination Schemes.
1010
(* Homogeneous squares *)
1111

1212
(*
13-
x00 ----pi0---- x01
13+
a00 ----p0i---- a01
1414
| |
15+
| > |
16+
pi0 = pi1
17+
| = |
1518
| |
16-
p0i ==> p1i
17-
| |
18-
| |
19-
x01-----pi1-----x11
20-
*)
19+
a10-----p1i-----a11
20+
21+
Indexing of points in a square follows the convention for matrices,
22+
first a row index, then a column index. Unless stated otherwise,
23+
paths are oriented in the direction of increasing index i (or x, etc).
24+
In PathSquare below, the order of the paths is: left, right, top, bottom.
25+
The stylized 2-path on the antidiagonal goes from pi0 @ p1i to p0i @ pi1,
26+
complying with the definition of equiv_sq_path below.
27+
28+
*)
2129

2230
(** Contents:
2331
@@ -72,6 +80,7 @@ Definition equiv_sq_path {A} {a00 a10 a01 a11 : A}
7280
{px0 : a00 = a10} {px1 : a01 = a11}
7381
{p0x : a00 = a01} {p1x : a10 = a11}
7482
: px0 @ p1x = p0x @ px1 <~> PathSquare px0 px1 p0x p1x.
83+
7584
Proof.
7685
snapply Build_Equiv.
7786
{ destruct p0x, p1x.
@@ -603,3 +612,40 @@ Proof.
603612
exact (apD (fun y => ap (fun x => f x y) p) q).
604613
Defined.
605614

615+
(* Interchange playground *)
616+
617+
Definition interchange {A}
618+
{a00 a10 a20 a01 a11 a21 a02 a12 a22 :A} (** 9 points in big square of 2x2 squares *)
619+
(** sq00, top left, 4 paths *)
620+
(vi0 : a00 = a10) (* i = 0,1 *)
621+
(h0i : a00 = a01)
622+
(vi1 : a01 = a11)
623+
(h1i : a10 = a11)
624+
(** sq10, bottom left, 3 paths, h1i shared with sq00 *)
625+
(vj0 : a10 = a20) (* j = 1,2 *)
626+
(vj1 : a11 = a21)
627+
(h2i : a20 = a21)
628+
(** sq01, top right, 3 paths, vi1 shared with sq00 *)
629+
(vi2 : a02 = a12)
630+
(h0j : a01 = a02)
631+
(h1j : a11 = a12)
632+
(** sq11, bottom right, 2 paths, vj1 shared with sq10 and h1j with sq01 *)
633+
(vj2 : a12 = a22)
634+
(h2j : a21 = a22)
635+
(sq00 : PathSquare vi0 vi1 h0i h1i)
636+
(sq10 : PathSquare vj0 vj1 h1i h2i)
637+
(sq01 : PathSquare vi1 vi2 h0j h1j)
638+
(sq11 : PathSquare vj1 vj2 h1j h2j)
639+
:
640+
sq_concat_h (sq_concat_v sq00 sq10) (sq_concat_v sq01 sq11)
641+
=
642+
sq_concat_v (sq_concat_h sq00 sq01) (sq_concat_h sq10 sq11).
643+
644+
Proof.
645+
destruct sq00, sq11, vj0, h0j.
646+
Admitted.
647+
648+
649+
650+
651+

0 commit comments

Comments
 (0)