theorem Th38:
  J,v |= All(x,p) => p
proof
  thus Valid(All(x,p) => p, J).v = TRUE
  proof
    assume not Valid(All(x,p) => p, J).v = TRUE;
    then
A1: Valid(All(x,p) => p, J).v = FALSE by XBOOLEAN:def 3;
    Valid(All(x,p) => p, J).v = Valid('not'(All(x,p) '&' 'not' p), J).v by
QC_LANG2:def 2
      .= 'not'(Valid(All(x,p) '&' 'not' p, J).v) by Th10
      .= 'not'((Valid(All(x,p), J).v) '&' (Valid('not' p, J).v)) by Th12
      .= 'not'((Valid(All(x,p), J).v) '&' 'not' (Valid(p, J).v)) by Th10;
    then
A2: (Valid(All(x,p), J).v) '&' 'not'(Valid(p, J).v) = TRUE by A1,MARGREL1:11;
    then 'not' (Valid(p, J).v) = TRUE by MARGREL1:12;
    then
A3: Valid(p, J).v = FALSE by MARGREL1:11;
    Valid(All(x,p), J).v=TRUE by A2,MARGREL1:12;
    then FOR_ALL(x, Valid(p,J)).v = TRUE by Lm1;
    hence thesis by A3,Th25;
  end;
end;
