reserve i,j,k,n,m for Nat,
        X for set,
        b,s for bag of X,
        x for object;
reserve O for Ordinal,
        R for right_zeroed add-associative right_complementable
          right_unital distributive non trivial doubleLoopStr,
        p for Polynomial of O, R;

theorem Th32:
  for s1,s2,b be bag of X st
    Subst(b,x,s1) = Subst(b,x,s2) holds s1 = s2
proof
  let s1,s2,b be bag of X such that
A1: Subst(b,x,s1) = Subst(b,x,s2);
A2:dom s1 = X = dom s2 by PARTFUN1:def 2;
  for y be object st y in dom s1 holds s1.y = s2.y
  proof
    let y be object such that
A3: y in dom s1;
A4: dom Subst(b,x,s1) = X = dom Subst(b,x,s2) by PARTFUN1:def 2;
    (b+*(x,0)).y + s2.y = Subst(b,x,s2).y by A3,A4,VALUED_1:def 1
    .= (b+*(x,0)).y + s1.y by A1,A3,A4,VALUED_1:def 1;
    hence thesis;
  end;
  hence thesis by A2;
end;
