| x1 = 1 ' + 3 ' + 3 ' + 2 ', to3 = fail, x0 = x1 ∧ d0 = 1, h0 = head(x0) ⊦ 〈to := some(Leaf)〉 〈to3 := to, x1 := pop(x0) ; if to3 = fail then to0 := fail else { to := fail ; build_rec#(1; x1, to) ; if to = fail then to0 := fail else to0 := some(Node(to3 .t, to .t)) }〉 〈to1 := to0 ; if x1 ≠ [] then to1 := fail〉 to1 = some(Node(Leaf, Node(Node(Leaf, Leaf), Leaf))) |
x1 = 1 ' + 3 ' + 3 ' + 2 ', to3 = fail, x0 = x1 ∧ d0 = 1, h0 = head(x0) ⊦ 〈to3 := some(Leaf), x1 := pop(x0)〉 〈if to3 = fail then to0 := fail else { to := fail ; build_rec#(1; x1, to) ; if to = fail then to0 := fail else to0 := some(Node(to3 .t, to .t)) }〉 〈to1 := to0 ; if x1 ≠ [] then to1 := fail〉 to1 = some(Node(Leaf, Node(Node(Leaf, Leaf), Leaf)))
[[CONCRETESIMPRULES : ()]]