reserve N for with_zero set;

theorem Th3:
  for A being with_non_trivial_ObjectKinds IC-Ins-separated
non empty with_non-empty_values AMI-Struct over N, I being Instruction
  of A holds Out_\_Inp I c= Output I
proof
  let A be with_non_trivial_ObjectKinds IC-Ins-separated non empty
  with_non-empty_values AMI-Struct over N, I be Instruction of A;
  for o being Object of A holds o in Out_\_Inp I implies o in Output I
  proof
    let o be Object of A;
    set s = the State of A,a = the Element of Values o;
    consider w being object such that
A1: w in Values o and
A2: w <> a by SUBSET_1:48;
    reconsider w as Element of Values o by A1;
    set t = s +* (o,w);
A3: dom t = the carrier of A by PARTFUN1:def 2;
A4: dom s = the carrier of A by PARTFUN1:def 2;
    assume
A5: not thesis;
    then
A6: Exec(I,t+*(o,a)).o = (t+*(o,a)).o by Def3
      .= a by A3,FUNCT_7:31;
    Exec(I,t).o = t.o by A5,Def3
      .= w by A4,FUNCT_7:31;
    hence contradiction by A5,A2,A6,Def4;
  end;
  hence thesis by SUBSET_1:2;
end;
