aboutsummaryrefslogtreecommitdiff
path: root/src/Encoding/EncodingTheorems.v
blob: 52ac91ada4f167129dd94f440a696a82d804aa4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Require Import Crypto.Spec.Encoding.

Section EncodingTheorems.
  Context {A B : Type} {E : canonical encoding of A as B}.
  
  Lemma encoding_inj : forall x y, enc x = enc y -> x = y.
  Proof.
    intros.
    assert (dec (enc x) = dec (enc y)) as dec_enc_eq by (f_equal; auto).
    do 2 rewrite encoding_valid in dec_enc_eq.
    inversion dec_enc_eq; auto.
  Qed.

End EncodingTheorems.