reserve N for with_zero set;

theorem Th7:
  for A being IC-Ins-separated non empty
  with_non-empty_values AMI-Struct over N, I being Instruction of A,
  o being Object of A st
  Values o is trivial holds not o in Out_U_Inp I
proof
  let A be IC-Ins-separated non empty with_non-empty_values AMI-Struct over
  N, I be Instruction of A, o be Object of A such that
A1: Values o is trivial;
  assume o in Out_U_Inp I;
  then consider s being State of A, a being Element of Values o such that
A2: Exec(I,s+*(o,a)) <> Exec(I,s) +* (o,a) by Def5;
  s.o is Element of Values o by MEMSTR_0:77;
  then s.o = a by A1,ZFMISC_1:def 10;
  then
A3: Exec(I,s+*(o,a)) = Exec(I,s) by FUNCT_7:35;
A4: dom Exec(I,s) = the carrier of A by PARTFUN1:def 2;
A5: for x being object st x in the carrier of A
  holds (Exec(I,s) +* (o,a)).x = Exec(I,s).x
  proof
    let x be object such that
    x in the carrier of A;
    per cases;
    suppose
A6:   x = o;
A7:   Exec(I,s).o is Element of Values o by MEMSTR_0:77;
      thus (Exec(I,s) +* (o,a)).x = a by A4,A6,FUNCT_7:31
        .= Exec(I,s).x by A1,A6,A7,ZFMISC_1:def 10;
    end;
    suppose
      x <> o;
      hence thesis by FUNCT_7:32;
    end;
  end;
  dom (Exec(I,s) +* (o,a)) = the carrier of A by PARTFUN1:def 2;
  hence contradiction by A2,A3,A4,A5,FUNCT_1:2;
end;
