; disordered binary search trees
(define (ordered? lt? tree)
(or (null? tree)
(and (ordered? lt? (cadr tree))
(ordered? lt? (caddr tree))
(or (null? (cadr tree))
(lt? (caadr tree) (car tree)))
(or (null? (caddr tree))
(lt? (car tree) (caaddr tree))))))
(display (ordered? < '(4 (0 () (1 () (2 () (3 () ())))) (5 () (6 () ()))))) (newline)
(display (ordered? < '(6 (0 () (1 () (2 () (3 () ())))) (5 () (4 () ()))))) (newline)
OyBkaXNvcmRlcmVkIGJpbmFyeSBzZWFyY2ggdHJlZXMKCihkZWZpbmUgKG9yZGVyZWQ/IGx0PyB0cmVlKQogIChvciAobnVsbD8gdHJlZSkKICAgICAgKGFuZCAob3JkZXJlZD8gbHQ/IChjYWRyIHRyZWUpKQogICAgICAgICAgIChvcmRlcmVkPyBsdD8gKGNhZGRyIHRyZWUpKQogICAgICAgICAgIChvciAobnVsbD8gKGNhZHIgdHJlZSkpCiAgICAgICAgICAgICAgIChsdD8gKGNhYWRyIHRyZWUpIChjYXIgdHJlZSkpKQogICAgICAgICAgIChvciAobnVsbD8gKGNhZGRyIHRyZWUpKQogICAgICAgICAgICAgICAobHQ/IChjYXIgdHJlZSkgKGNhYWRkciB0cmVlKSkpKSkpCgooZGlzcGxheSAob3JkZXJlZD8gPCAnKDQgKDAgKCkgKDEgKCkgKDIgKCkgKDMgKCkgKCkpKSkpICg1ICgpICg2ICgpICgpKSkpKSkgKG5ld2xpbmUpCihkaXNwbGF5IChvcmRlcmVkPyA8ICcoNiAoMCAoKSAoMSAoKSAoMiAoKSAoMyAoKSAoKSkpKSkgKDUgKCkgKDQgKCkgKCkpKSkpKSAobmV3bGluZSk=