Skip to main content

Module disjoint

Module disjoint 

Source
Expand description

Disjointness proofs for complete ASN.1 formats. Compositional disjointness proofs for complete ASN.1 formats.

Each complete ASN.1 format exposes an over-approximation of what can occur at the start of an accepted input, and one generic theorem turns disjoint start domains into disjoint_domains. Adding another ASN.1 format therefore needs one start-domain proof rather than pairwise proofs against every existing format.

Structs§

Asn1StartDomain
A conservative FIRST certificate for an ASN.1 parser.
Asn1TagLeadMask
The 256 possible ASN.1 identifier leading octets, split into one 64-bit word per class.

Traits§

HasAsn1Start
Parsers whose accepted inputs have a compositional ASN.1 start-domain description.

Functions§

asn1_disjointness_lemmas
asn1_start_any_non_eoc
asn1_start_ber_boundary
asn1_start_empty
asn1_start_exact
asn1_start_exact_uint
asn1_start_identity
asn1_start_identity_uint
asn1_start_mask
asn1_start_union
asn1_starts_disjoint
empty_tag_lead_mask
input_starts_with
lemma_asn1_start_exact_uint
lemma_asn1_start_identity_uint
lemma_asn1_starts_disjoint_exact
lemma_asn1_starts_disjoint_exact_uint
lemma_disjoint_asn1_starts
lemma_disjoint_defaulted
lemma_input_starts_with_union
lemma_tag_number_roundtrip
tag_lead_bit
tag_lead_index
tag_lead_low
tag_lead_mask
tag_lead_mask_contains
tag_lead_masks_disjoint
tag_lead_masks_union
tag_leads_distinct
tag_leads_distinct_uint