# Computational proofs for the Base64 laws. # Each proof is intentionally transparent: the law checker reduces the # Base-only implementation and closes the equality with {==}. import Base import ./LAWS.bend as Laws def Laws.encode_empty(): {==} def Laws.encode_one(): {==} def Laws.encode_two(): {==} def Laws.encode_three(): {==} def Laws.encode_multiple(): {==} def Laws.encode_masks_u32(): {==} def Laws.decode_empty(): {==} def Laws.decode_one_pad(): {==} def Laws.decode_two_pad(): {==} def Laws.decode_full(): {==} def Laws.decode_multiple(): {==} def Laws.roundtrip_one(): {==} def Laws.roundtrip_two(): {==} def Laws.roundtrip_three(): {==} def Laws.reject_invalid_alphabet(): {==} def Laws.reject_short_quartet(): {==} def Laws.reject_early_padding(): {==} def Laws.reject_bad_padding_shape(): {==} def Laws.reject_noncanonical_one(): {==} def Laws.reject_noncanonical_two(): {==} def Laws.reject_padding_before_tail(): {==}