def pairs

qasim-bend-kit@0.1.0.2 · proof/JSON_ParallelProof.bend:23

import qasim-bend-kit@0.1.0.2/proof/JSON_ParallelProof.bend as JSONParallelProof
import Base
import qasim-bend-kit@0.1.0.2/libs/JSON.bend as J

23def pairs(+trees: List<&2, J.LexTree>,
24          -tail: List<J.Token>) -> {forest(J.lex_pairs(trees), tail) == forest(trees, tail) : List<J.Token>}:
25    match trees:
26        case Nil{}: {==}
27        case head <> Nil{}: {==}
28        case left <> right <> rest:
29            Equal.cong(List<J.Token>, List<J.Token>, xs => J.token_list(J.decode_tree(left), J.token_list(J.decode_tree(right), xs)),
30                forest(J.lex_pairs(rest), tail), forest(rest, tail), pairs(rest, tail))

Uses (8)

Used by (1)