
theorem Th101:
  for G being non _trivial _finite chordal _Graph st not G is
  complete ex a,b being Vertex of G st a<>b & not a,b are_adjacent & a is
  simplicial & b is simplicial
proof
  defpred P[_finite _Graph] means $1 is non _trivial & $1 is chordal &
  not $1 is
complete implies ex a,b being Vertex of $1 st a <> b & not a,b are_adjacent & a
  is simplicial & b is simplicial;
A1: for k being non zero Nat st for Gk being _finite _Graph st Gk.order() < k
  holds P[Gk] holds for Gk1 being _finite _Graph st Gk1.order() = k holds
  P[Gk1]
  proof
    let k be non zero Nat such that
A2: for Gk being _finite _Graph st Gk.order() < k holds P[Gk];
    let Gk1 be _finite _Graph such that
A3: Gk1.order() = k and
A4: Gk1 is non _trivial and
A5: Gk1 is chordal and
A6: not Gk1 is complete;
    reconsider G=Gk1 as non _trivial _finite chordal _Graph by A4,A5;
    consider a,b being Vertex of G such that
A7: a <> b and
A8: not a,b are_adjacent by A6;
    consider S being VertexSeparator of a,b such that
A9: S is minimal by Th78;
    set Gns = the removeVertices of G,S;
    reconsider sa = a, sb = b as Vertex of Gns by A7,A8,Th76;
    set A = Gns.reachableFrom(sa), B = Gns.reachableFrom(sb);
    set Gas = the inducedSubgraph of G,(A \/ S);
A10: A c= the_Vertices_of Gns;
    then
A11: A c= the_Vertices_of G by XBOOLE_1:1;
    then
A12: A\/S is non empty Subset of the_Vertices_of G by XBOOLE_1:8;
A13: A /\ B = {} by A7,A8,Th75;
A14: now
      assume
A15:  b in A \/ S;
      not b in S by A7,A8,Def8;
      then
A16:  b in A by A15,XBOOLE_0:def 3;
      b in B by GLIB_002:9;
      hence contradiction by A13,A16,XBOOLE_0:def 4;
    end;
A17: now
      assume Gas.order() = k;
      then
A18:  the_Vertices_of Gas = the_Vertices_of G by A3,CARD_2:102;
      the_Vertices_of Gas = A\/S by A12,GLIB_000:def 37;
      hence contradiction by A14,A18;
    end;
    set Gbs = the inducedSubgraph of G,(B \/ S);
A19: B c= the_Vertices_of G by A10,XBOOLE_1:1;
    then
A20: B\/S is non empty Subset of the_Vertices_of G by XBOOLE_1:8;
A21: now
      assume
A22:  a in B \/ S;
      not a in S by A7,A8,Def8;
      then
A23:  a in B by A22,XBOOLE_0:def 3;
      a in A by GLIB_002:9;
      hence contradiction by A13,A23,XBOOLE_0:def 4;
    end;
A24: now
      assume Gbs.order() = k;
      then
A25:  the_Vertices_of Gbs = the_Vertices_of G by A3,CARD_2:102;
      the_Vertices_of Gbs = B\/S by A20,GLIB_000:def 37;
      hence contradiction by A21,A25;
    end;
    set Gs = the inducedSubgraph of G,S;
    not a in S by A7,A8,Def8;
    then a in the_Vertices_of G \ S by XBOOLE_0:def 5;
    then
A26: the_Vertices_of Gns = the_Vertices_of G \ S by GLIB_000:def 37;
    Gbs.order() <= k by A3,GLIB_000:75;
    then
A27: Gbs.order() < k by A24,XXREAL_0:1;
    ex b being Vertex of Gk1 st b in B & b is simplicial
    proof
      consider aa being object such that
A28:  aa in B by XBOOLE_0:def 1;
A29:  the_Vertices_of Gbs = B \/ S by A20,GLIB_000:def 37;
      then reconsider a = aa as Vertex of Gbs by A28,XBOOLE_0:def 3;
      ex c being Vertex of Gbs st c in B & c is simplicial
      proof
        per cases;
        suppose
          Gbs is complete;
          then a is simplicial by Th63;
          hence thesis by A28;
        end;
        suppose
A30:      not Gbs is complete;
          then not Gbs is _trivial;
          then consider a2,b2 being Vertex of Gbs such that
A31:      a2 <> b2 and
A32:      not a2,b2 are_adjacent and
A33:      a2 is simplicial and
A34:      b2 is simplicial by A2,A27,A30;
          now
            assume that
A35:        a2 in S and
A36:        b2 in S;
            reconsider a4 = a2, b4 = b2 as Vertex of Gs by A35,A36,
GLIB_000:def 37;
            Gs is complete by A7,A8,A9,A35,Th97;
            then
A37:        a4,b4 are_adjacent by A31;
            reconsider a3 = a2, b3 = b2 as Vertex of G by A35,A36;
            not a3,b3 are_adjacent by A20,A32,Th44;
            hence contradiction by A35,A37,Th44;
          end;
          then b2 in B or a2 in B by A29,XBOOLE_0:def 3;
          hence thesis by A33,A34;
        end;
      end;
      then consider cc being Vertex of Gbs such that
A38:  cc in B and
A39:  cc is simplicial;
      reconsider c = cc as Vertex of Gk1 by A19,A38;
      now
        let x be object such that
A40:    x in Gk1.AdjacentSet({c});
        assume
A41:    not x in B\/S;
        then
A42:    not x in B by XBOOLE_0:def 3;
A43:    not x in S by A41,XBOOLE_0:def 3;
        reconsider x as Vertex of Gk1 by A40;
        c,x are_adjacent by A40,Th51;
        then consider e being object such that
A44:    e Joins c,x,Gk1;
        x in the_Vertices_of Gns by A26,A43,XBOOLE_0:def 5;
        then e Joins c,x,Gns by A26,A38,A44,Th19;
        hence contradiction by A38,A42,GLIB_002:10;
      end;
      then
A45:  Gk1.AdjacentSet({c}) c= B\/S;
      c in B\/S by A38,XBOOLE_0:def 3;
      then c is simplicial by A20,A39,A45,Th66;
      hence thesis by A38;
    end;
    then consider b being Vertex of Gk1 such that
A46: b in B and
A47: b is simplicial;
    Gas.order() <= k by A3,GLIB_000:75;
    then
A48: Gas.order() < k by A17,XXREAL_0:1;
    ex a being Vertex of Gk1 st a in A & a is simplicial
    proof
      consider aa being object such that
A49:  aa in A by XBOOLE_0:def 1;
A50:  the_Vertices_of Gas = A \/ S by A12,GLIB_000:def 37;
      then reconsider a = aa as Vertex of Gas by A49,XBOOLE_0:def 3;
      ex c being Vertex of Gas st c in A & c is simplicial
      proof
        per cases;
        suppose
          Gas is complete;
          then a is simplicial by Th63;
          hence thesis by A49;
        end;
        suppose
A51:      not Gas is complete;
          then not Gas is _trivial;
          then consider a2,b2 being Vertex of Gas such that
A52:      a2 <> b2 and
A53:      not a2,b2 are_adjacent and
A54:      a2 is simplicial and
A55:      b2 is simplicial by A2,A48,A51;
          now
            assume that
A56:        a2 in S and
A57:        b2 in S;
            reconsider a4 = a2, b4 = b2 as Vertex of Gs by A56,A57,
GLIB_000:def 37;
            Gs is complete by A7,A8,A9,A56,Th97;
            then
A58:        a4,b4 are_adjacent by A52;
            reconsider a3 = a2, b3 = b2 as Vertex of G by A56,A57;
            not a3,b3 are_adjacent by A12,A53,Th44;
            hence contradiction by A56,A58,Th44;
          end;
          then b2 in A or a2 in A by A50,XBOOLE_0:def 3;
          hence thesis by A54,A55;
        end;
      end;
      then consider cc being Vertex of Gas such that
A59:  cc in A and
A60:  cc is simplicial;
      reconsider c = cc as Vertex of Gk1 by A11,A59;
      now
        let x be object such that
A61:    x in Gk1.AdjacentSet({c});
        assume
A62:    not x in A\/S;
        then
A63:    not x in A by XBOOLE_0:def 3;
A64:    not x in S by A62,XBOOLE_0:def 3;
        reconsider x as Vertex of Gk1 by A61;
        c,x are_adjacent by A61,Th51;
        then consider e being object such that
A65:    e Joins c,x,Gk1;
        x in the_Vertices_of Gns by A26,A64,XBOOLE_0:def 5;
        then e Joins c,x,Gns by A26,A59,A65,Th19;
        hence contradiction by A59,A63,GLIB_002:10;
      end;
      then
A66:  Gk1.AdjacentSet({c}) c= A\/S;
      c in A\/S by A59,XBOOLE_0:def 3;
      then c is simplicial by A12,A60,A66,Th66;
      hence thesis by A59;
    end;
    then consider a being Vertex of Gk1 such that
A67: a in A and
A68: a is simplicial;
A69: now
      reconsider aa=a, bb=b as Vertex of Gns by A67,A46;
      assume a,b are_adjacent;
      then consider e being object such that
A70:  e Joins a,b,Gk1;
      e Joins aa,bb,Gns by A26,A70,Th19;
      then bb in A by A67,GLIB_002:10;
      hence contradiction by A13,A46,XBOOLE_0:def 4;
    end;
    a<>b by A13,A67,A46,XBOOLE_0:def 4;
    hence thesis by A68,A47,A69;
  end;
A71: for G being _finite _Graph holds P[G] from FinGraphOrderCompInd(A1);
  let G be non _trivial _finite chordal _Graph;
  assume not G is complete;
  hence thesis by A71;
end;
