definition byte_of_nat ≝
λn. mk_byte (exadecimal_of_nat (n / 16)) (exadecimal_of_nat n).
+interpretation "byte_of_nat" 'byte_of_opcode a =
+ (cic:/matita/assembly/byte/byte_of_nat.con a).
+
lemma byte_of_nat_nat_of_byte: ∀b. byte_of_nat (nat_of_byte b) = b.
intros;
elim b;
[ letin Hf ≝ (le_plus ? ? ? ? Hcut K'); clearbody Hf;
simplify in Hf:(? ? %);
assumption
- | autobatch
+ | apply le_times_r. apply H'.
]
qed.
rewrite > exadecimal_of_nat_mod in ⊢ (? ? ? %);
rewrite > divides_to_eq_mod_mod_mod;
[ reflexivity
- | autobatch
+ | apply (witness ? ? 16). reflexivity.
]
]
qed.
match plusbyte b1 b2 c with
[ couple r c' ⇒ b1 + b2 + nat_of_bool c = nat_of_byte r + nat_of_bool c' * 256
].
- intros;
+ intros; elim daemon.
+ (*
unfold plusbyte;
generalize in match (plusex_ok (bl b1) (bl b2) c);
elim (plusex (bl b1) (bl b2) c);
rewrite < associative_plus in ⊢ (? ? (? ? (? % ?)) ?);
rewrite > H; clear H;
autobatch paramodulation.
+ *)
qed.
definition bpred ≝