{A} (B : A -> Type) {x000 x010 x100 x110 x001 x011 x101 x111 : A} {p0i0 : x000 = x010} {p1i0 : x100 = x110} {pi00 : x000 = x100} {pi10 : x010 = x110} {p0i1 : x001 = x011} {p1i1 : x101 = x111} {pi01 : x001 = x101} {pi11 : x011 = x111} {p00i : x000 = x001} {p01i : x010 = x011} {p10i : x100 = x101} {p11i : x110 = x111} {s0ii : PathSquare p0i0 p0i1 p00i p01i} {s1ii : PathSquare p1i0 p1i1 p10i p11i} {sii0 : PathSquare p0i0 p1i0 pi00 pi10} {sii1 : PathSquare p0i1 p1i1 pi01 pi11} {si0i : PathSquare p00i p10i pi00 pi01} {si1i : PathSquare p01i p11i pi10 pi11} (cube : PathCube s0ii s1ii sii0 sii1 si0i si1i) {b000 : B x000} {b010 : B x010} {b100 : B x100} {b110 : B x110} {b001 : B x001} {b011 : B x011} {b101 : B x101} {b111 : B x111 } {bp0i0 : DPath B p0i0 b000 b010} {bp1i0 : DPath B p1i0 b100 b110} {bpi00 : DPath B pi00 b000 b100} {bpi10 : DPath B pi10 b010 b110} {bp0i1 : DPath B p0i1 b001 b011} {bp1i1 : DPath B p1i1 b101 b111} {bpi01 : DPath B pi01 b001 b101} {bpi11 : DPath B pi11 b011 b111} {bp00i : DPath B p00i b000 b001} {bp01i : DPath B p01i b010 b011} {bp10i : DPath B p10i b100 b101} {bp11i : DPath B p11i b110 b111} (bs0ii : DPathSquare B s0ii bp0i0 bp0i1 bp00i bp01i) (bs1ii : DPathSquare B s1ii bp1i0 bp1i1 bp10i bp11i) (bsii0 : DPathSquare B sii0 bp0i0 bp1i0 bpi00 bpi10) (bsii1 : DPathSquare B sii1 bp0i1 bp1i1 bpi01 bpi11) (bsi0i : DPathSquare B si0i bp00i bp10i bpi00 bpi01) (bsi1i : DPathSquare B si1i bp01i bp11i bpi10 bpi11) : Type. Proof. destruct cube. exact (PathCube bs0ii bs1ii bsii0 bsii1 bsi0i bsi1i). Defined.
Require Import Basics. Require Import Cubical.DPath. Require Import Cubical.PathSquare. Require Import Cubical.DPathSquare. Require Import Cubical.PathCube.