def bool_unique

qasim-bend-kit@0.1.0.2 · proof/AES_CertificateProof.bend:54

import qasim-bend-kit@0.1.0.2/proof/AES_CertificateProof.bend as AESCertificateProof
import Base

54def bool_unique(+a: Bool, +b: Bool,
55    +first: {a == b : Bool}, +second: {a == b : Bool}) ->
56    {first == second : {a == b : Bool}}:
57    +first_code = bool_encode(a, b, first)
58    +second_code = bool_encode(a, b, second)
59    codes_same = bool_code_unique(a, b, first_code, second_code)
60    decoded_same = Equal.cong(bool_code(a, b), {a == b : Bool},
61        code => bool_decode(a, b, code), first_code, second_code, codes_same)
62    Equal.trans({a == b : Bool}, first, bool_decode(a, b, first_code), second,
63        Equal.sym({a == b : Bool}, bool_decode(a, b, first_code), first,
64            bool_decode_encode(a, b, first)),
65        Equal.trans({a == b : Bool}, bool_decode(a, b, first_code),
66            bool_decode(a, b, second_code), second, decoded_same,
67            bool_decode_encode(a, b, second)))

Uses (9)

Used by (5)