def number_route

qasim-bend-kit@0.1.0.2 · proof/JSON_PrimitiveProof.bend:47

import qasim-bend-kit@0.1.0.2/proof/JSON_PrimitiveProof.bend as JSONPrimitiveProof
import Base
import qasim-bend-kit@0.1.0.2/libs/JSON.bend as J

47def number_route(+text: String,
48                 +valid: Bool,
49                 +certificate: J.NumberCert<text>,
50                 evidence: {J.number_valid(text) == valid : Bool}) -> {J.payload_number(text, valid, evidence) == Done{J.Number{text, certificate}} : R()}:
51    match valid:
52        case True{}:
53            Equal.cong(J.NumberCert<text>, R(), c => Done{J.Number{text, c}},
54                J.Certified{J.number_proof(text, evidence)}, certificate,
55                cert_unique(text, J.Certified{J.number_proof(text, evidence)}, certificate))
56        case False{}:
57            absurd({J.payload_number(text, False{}, evidence) == Done{J.Number{text, certificate}} : R()},
58                false_true(Equal.trans(Bool, False{}, J.number_valid(text), True{},
59                    Equal.sym(Bool, J.number_valid(text), False{}, evidence), cert_valid(text, certificate))))

Uses (16)

Used by (1)