Theory EncodeVar

Parents

Contents

Type operators

(none)

Constants

Definitions

fixed_width_defof_length_def

Theorems

fixed_width_bnumfixed_width_boolfixed_width_existsfixed_width_prodfixed_width_sumfixed_width_unitfixed_width_univof_length_exists_sucof_length_exists_zeroof_length_univ_sucof_length_univ_zero

Definitions

⊢ ∀n c. fixed_width n c ⇔ ∀x. domain c x ⇒ (LENGTH (encoder c x) = n)
of_length_def
⊢ ∀l n. l ∈ of_length n ⇔ (LENGTH l = n)

Theorems

⊢ ∀m p. fixed_width m (bnum_coder m p)
⊢ ∀p. fixed_width 1 (bool_coder p)
⊢ ∀phi c n.
    wf_coder c ∧ fixed_width n c ⇒
    ((∃x. domain c x ∧ phi x) ⇔ ∃w::of_length n. phi (decoder c w))
⊢ ∀c1 c2 n1 n2.
    fixed_width n1 c1 ∧ fixed_width n2 c2 ⇒
    fixed_width (n1 + n2) (prod_coder c1 c2)
⊢ ∀c1 c2 n.
    fixed_width n c1 ∧ fixed_width n c2 ⇒
    fixed_width (SUC n) (sum_coder c1 c2)
⊢ ∀p. fixed_width 0 (unit_coder p)
⊢ ∀phi c n.
    wf_coder c ∧ fixed_width n c ⇒
    ((∀x. domain c x ⇒ phi x) ⇔ ∀w::of_length n. phi (decoder c w))
⊢ ∀phi n. (∃w::of_length (SUC n). phi w) ⇔ ∃x (w::of_length n). phi (x::w)
⊢ ∀phi. (∃w::of_length 0. phi w) ⇔ phi []
⊢ ∀phi n. (∀w::of_length (SUC n). phi w) ⇔ ∀x (w::of_length n). phi (x::w)
⊢ ∀phi. (∀w::of_length 0. phi w) ⇔ phi []