
theorem Th20:
  for S being non empty non void TopStruct for f being
  Collineation of S for X,Y being Subset of S st X is non trivial & Y is non
  trivial & X,Y are_joinable holds f.:X,f.:Y are_joinable
proof
  let S be non empty non void TopStruct;
  let f be Collineation of S;
  let X,Y be Subset of S;
  assume that
A1: X is non trivial and
A2: Y is non trivial and
A3: X,Y are_joinable;
  consider g being FinSequence of bool the carrier of S such that
A4: X = g.1 and
A5: Y = g.(len g) and
A6: for W being Subset of S st W in rng g holds W is closed_under_lines
  strong and
A7: for i being Element of NAT st 1 <= i & i < len g holds 2 c= card((g.
  i) /\ (g.(i+1))) by A3;
  deffunc F(set) = f.:(g.$1);
  consider p being FinSequence such that
A8: len p = len g & for k being Nat st k in dom p holds p.k=F(k) from
  FINSEQ_1:sch 2;
A9: dom g = Seg len g by FINSEQ_1:def 3;
A10: dom p = Seg len p by FINSEQ_1:def 3;
  rng p c= bool the carrier of S
  proof
    let o be object;
    assume o in rng p;
    then consider i being object such that
A11: i in dom p and
A12: o=p.i by FUNCT_1:def 3;
    reconsider i as Element of NAT by A11;
    g.i in rng g by A8,A10,A9,A11,FUNCT_1:3;
    then reconsider gi = g.i as Subset of S;
    p.i = f.:(gi) by A8,A11;
    hence thesis by A12;
  end;
  then reconsider p as FinSequence of bool the carrier of S by FINSEQ_1:def 4;
  take p;
  1 in dom g by A1,A4,FUNCT_1:def 2;
  hence f.:X = p.1 by A4,A8,A10,A9;
  len g in dom g by A2,A5,FUNCT_1:def 2;
  hence f.:Y = p.(len p) by A5,A8,A10,A9;
  thus for W being Subset of S st W in rng p holds W is closed_under_lines
  strong
  proof
    let W be Subset of S;
    assume W in rng p;
    then consider i being object such that
A13: i in dom p and
A14: W=p.i by FUNCT_1:def 3;
    reconsider i as Element of NAT by A13;
    g.i in rng g by A8,A10,A9,A13,FUNCT_1:3;
    then reconsider gi = g.i as Subset of S;
    gi in rng g by A8,A10,A9,A13,FUNCT_1:3;
    then
A15: gi is strong closed_under_lines by A6;
    p.i = f.:(gi) by A8,A13;
    hence thesis by A14,A15,Th16,Th18;
  end;
A16: f is bijective by Def4;
  thus for i being Element of NAT st 1 <= i & i < len p holds 2 c= card((p.i)
  /\ (p.(i+1)))
  proof
    let i be Element of NAT;
    assume that
A17: 1 <= i and
A18: i < len p;
A19: (g.i) /\ (g.(i+1)) c= g.i by XBOOLE_1:17;
    i in dom g by A8,A17,A18,FINSEQ_3:25;
    then g.i in rng g by FUNCT_1:3;
    then reconsider gg=(g.i) /\ g.(i+1) as Subset of S by A19,XBOOLE_1:1;
    2 c= card((g.i) /\ (g.(i+1))) by A7,A8,A17,A18;
    then gg is non trivial by PENCIL_1:4;
    then f.:gg is non trivial by Th14;
    then
A20: f.:(g.i) /\ f.:(g.(i+1)) is non trivial by A16,FUNCT_1:62;
A21: i+1 <= len p by A18,NAT_1:13;
    1 <= i+1 by A17,NAT_1:13;
    then i+1 in dom p by A21,FINSEQ_3:25;
    then
A22: p.(i+1) = f.:(g.(i+1)) by A8;
    i in dom g by A8,A17,A18,FINSEQ_3:25;
    then p.i = f.:(g.i) by A8,A10,A9;
    hence thesis by A22,A20,PENCIL_1:4;
  end;
end;
