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))