reserve G, G1, G2 for _Graph, H for Subgraph of G;

theorem
  G is Tree-like iff G.allSpanningTrees() = { G | _GraphSelectors }
proof
  hereby
    assume A1: G is Tree-like;
    now
      let x be object;
      hereby
        assume A2: x in G.allSpanningTrees();
        then reconsider G9 = x as plain spanning Subgraph of G by Th168;
        A3: G == G9 by A1, A2, GLIBPRE1:40;
        G == G | _GraphSelectors by GLIB_000:128;
        hence x = G | _GraphSelectors by A3, GLIB_000:85, GLIB_009:44;
      end;
      assume x = G | _GraphSelectors;
      hence x in G.allSpanningTrees() by A1, Th172;
    end;
    hence G.allSpanningTrees() = {G | _GraphSelectors} by TARSKI:def 1;
  end;
  assume G.allSpanningTrees() = {G | _GraphSelectors};
  then G | _GraphSelectors in G.allSpanningTrees() by TARSKI:def 1;
  then A4: G | _GraphSelectors is connected acyclic by Th168;
  G == G | _GraphSelectors by GLIB_000:128;
  hence thesis by A4, GLIB_002:48;
end;
