 reserve n,i for Nat;
 reserve p for Prime;

theorem WOW:
  for m, n being non zero Nat st pfexp m = pfexp n holds
    m = n
  proof
    let m, n be non zero Nat;
K1: dom pfexp m = SetPrimes by PARTFUN1:def 2
       .= dom ppf m by PARTFUN1:def 2;
K2: dom pfexp n = SetPrimes by PARTFUN1:def 2
       .= dom ppf n by PARTFUN1:def 2;
    assume
SS: pfexp m = pfexp n;
    for x being object st x in dom ppf m holds
      (ppf m).x = (ppf n).x
    proof
      let x be object;
      assume x in dom ppf m; then
      reconsider y = x as Prime by K1,NAT_3:33;
      per cases;
      suppose
B1:     y in support pfexp m & y in support pfexp n; then
B2:     (ppf m).y = y |^ (y |-count m) by NAT_3:def 9;
        y |-count m = (pfexp m).y by NAT_3:def 8
          .= y |-count n by NAT_3:def 8,SS;
        hence thesis by B2,B1,NAT_3:def 9;
      end;
      suppose not y in support pfexp m & y in support pfexp n;
        hence thesis by SS;
      end;
      suppose y in support pfexp m & not y in support pfexp n;
        hence thesis by SS;
      end;
      suppose not y in support pfexp m & not y in support pfexp n; then
KS:     not y in support ppf m & not y in support ppf n by NAT_3:def 9;
        hence (ppf m).x = 0 by PRE_POLY:def 7
         .= (ppf n).x by KS,PRE_POLY:def 7;
      end;
    end; then
    ppf m = ppf n by SS,K1,K2,FUNCT_1:2; then
    m = Product ppf n by NAT_3:61;
    hence thesis by NAT_3:61;
  end;
