1 | 2. s1: (T+T) List 3. s2: (T+T) List 4. no_repeats(T+T;s1) ![]() ![]() ![]() ![]() ![]() 5. no_repeats(T+T;s2) ![]() ![]() ![]() ![]() ![]() 6. paren(T;s1) 7. paren(T;s2) 8. l_disjoint(T+T;s1;s2) & no_repeats(T+T;s1) & no_repeats(T+T;s2) 9. s1@0: (T+T) List 10. s2@0: (T+T) List 11. s3: (T+T) List 12. x: T 13. (s1 @ s2) = (s1@0 @ [inl(x)] @ s2@0 @ [inr(x)] @ s3) 14. e: (T+T) List 15. s1 = (s1@0 @ e) 16. ([inl(x)] @ s2@0 @ [inr(x)] @ s3) = (e @ s2) ![]() | 29 steps |
  | ||
2 | 2. s1: (T+T) List 3. s2: (T+T) List 4. no_repeats(T+T;s1) ![]() ![]() ![]() ![]() ![]() 5. no_repeats(T+T;s2) ![]() ![]() ![]() ![]() ![]() 6. paren(T;s1) 7. paren(T;s2) 8. l_disjoint(T+T;s1;s2) & no_repeats(T+T;s1) & no_repeats(T+T;s2) 9. s1@0: (T+T) List 10. s2@0: (T+T) List 11. s3: (T+T) List 12. x: T 13. (s1 @ s2) = (s1@0 @ [inl(x)] @ s2@0 @ [inr(x)] @ s3) 14. e: (T+T) List 15. s1@0 = (s1 @ e) 16. s2 = (e @ [inl(x)] @ s2@0 @ [inr(x)] @ s3) ![]() | 1 step |
About:
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |