
theorem Th14:
  for x,y,c being set holds InnerVertices BorrowStr(x,y,c) =
  {[<*x,y*>,and2a], [<*y,c*>,and2], [<*x,c*>,and2a]} \/ {BorrowOutput(x,y,c)}
proof
  let x,y,c be set;
  set xy = [<*x,y*>, and2a], yc = [<*y,c*>, and2], xc = [<*x,c*>, and2a];
  set Cxy = 1GateCircStr(<*x,y*>, and2a), Cyc = 1GateCircStr(<*y,c*>, and2),
  Cxc = 1GateCircStr(<*x,c*>, and2a), Cxyc = 1GateCircStr
  (<*[<*x,y*>, and2a], [<*y,c*>, and2], [<*x,c*>, and2a]*>, or3);
A1: Cxy tolerates (Cyc +* Cxc +* Cxyc) by CIRCCOMB:47;
A2: Cyc tolerates (Cxc +* Cxyc) by CIRCCOMB:47;
A3: Cxc tolerates Cxyc by CIRCCOMB:47;
A4: InnerVertices (Cyc +* (Cxc +* Cxyc)) =
  InnerVertices Cyc \/ InnerVertices (Cxc +* Cxyc) by A2,CIRCCOMB:11;
A5: InnerVertices (Cxc +* Cxyc) =
  InnerVertices Cxc \/ InnerVertices Cxyc by A3,CIRCCOMB:11;
  thus
  InnerVertices BorrowStr(x,y,c) =
  InnerVertices (Cxy +* (Cyc +* Cxc) +* Cxyc) by CIRCCOMB:6
    .= InnerVertices (Cxy +* (Cyc +* Cxc +* Cxyc)) by CIRCCOMB:6
    .= InnerVertices Cxy \/ InnerVertices (Cyc +* Cxc +* Cxyc)
  by A1,CIRCCOMB:11
    .= InnerVertices Cxy \/ InnerVertices (Cyc +* (Cxc +* Cxyc))
  by CIRCCOMB:6
    .= InnerVertices Cxy \/ InnerVertices Cyc \/
  (InnerVertices Cxc \/ InnerVertices Cxyc) by A4,A5,XBOOLE_1:4
    .= InnerVertices Cxy \/ InnerVertices Cyc \/
  InnerVertices Cxc \/ InnerVertices Cxyc by XBOOLE_1:4
    .= {xy} \/ InnerVertices Cyc \/
  InnerVertices Cxc \/ InnerVertices Cxyc by CIRCCOMB:42
    .= {xy} \/ {yc} \/ InnerVertices Cxc \/ InnerVertices Cxyc by CIRCCOMB:42
    .= {xy} \/ {yc} \/ {xc} \/ InnerVertices Cxyc by CIRCCOMB:42
    .= {xy, yc} \/ {xc} \/ InnerVertices Cxyc by ENUMSET1:1
    .= {xy, yc, xc} \/ InnerVertices Cxyc by ENUMSET1:3
    .= {xy, yc, xc} \/ {BorrowOutput(x,y,c)} by CIRCCOMB:42;
end;
