~/bend-docscommunity

proof/JSON_PrimitiveProof.bend checks

raw source on the hub · import 0x3d2147650fe101ae3c3e4a95333b4238/proof/JSON_PrimitiveProof.bend as JSON_PrimitiveProof

2 imports
import Base
import ../libs/JSON.bend as J

Definitions

def R source · line 4 · raw

Type

def absurd source · line 7 · raw

@-A:Type -> @empty:Empty -> A

def false_type source · line 10 · raw

@b:Bool -> Data

def false_true source · line 15 · raw

@e:{False{} == True{} : Bool} -> Empty

def proof_valid source · line 19 · raw

@+valid:Bool -> @witness:0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberProofFrom(valid) -> {valid == True{} : Bool}

def cert_valid source · line 25 · raw

@+text:String -> @certificate:0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberCert<text> -> {0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.number_valid(text) == True{} : Bool}

def proof_unique source · line 30 · raw

@+valid:Bool -> @+a:0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberProofFrom(valid) -> @+b:0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberProofFrom(valid) -> {a == b : 0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberProofFrom(valid)}

def cert_unique source · line 40 · raw

@+text:String -> @+a:0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberCert<text> -> @+b:0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberCert<text> -> {a == b : 0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberCert<text>}

def number_route source · line 47 · raw

@+text:String -> @+valid:Bool -> @+certificate:0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberCert<text> -> @evidence:{0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.number_valid(text) == valid : Bool} -> {0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.payload_number(text, valid, evidence) == Done{0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.Number{text, certificate}} : R}

def number_roundtrip source · line 61 · raw

@+text:String -> @+certificate:0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberCert<text> -> {0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.decode_payload(text) == Done{0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.Number{text, certificate}} : R}

def invalid_step source · line 65 · raw

@+text:String -> {0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.number_valid_step(text, 0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberInvalid{}) == 0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberInvalid{} : 0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberState}

def route_false source · line 70 · raw

@+text:String -> @+valid:Bool -> @evidence:{0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.number_valid(text) == valid : Bool} -> @no:{valid == False{} : Bool} -> {0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.payload_number(text, valid, evidence) == 0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.payload_other(text) : R}

def decode_false source · line 79 · raw

@+text:String -> @no:{0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.number_valid(text) == False{} : Bool} -> {0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.decode_payload(text) == 0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.payload_other(text) : R}

def invalid_end source · line 83 · raw

@+text:String -> {0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.number_valid_end(0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.number_valid_step(text, 0x3d2147650fe101ae3c3e4a95333b4238/libs/JSON.NumberInvalid{})) == False{} : Bool}