def word.cmp_nat.d
bend-osdev-algo@0.1.0.0 · PROOF.bend:863
import bend-osdev-algo@0.1.0.0/PROOF.bend as PROOF
import Base
863def word.cmp_nat.d(a: Nat, b: Nat, x: Bool, y: Bool) -> {Word.cmp.fin(x, y, Nat.cmp(a, b)) == Nat.cmp(nat.dbit(x, a), nat.dbit(y, b)) : Cmp}:
864 match a b:
865 case 0n 0n:
866 match x y:
867 case True{} True{}:
868 {==}
869 case True{} False{}:
870 {==}
871 case False{} True{}:
872 {==}
873 case False{} False{}:
874 {==}
875 case 0n 1n+bp:
876 match x y:
877 case True{} True{}:
878 {==}
879 case True{} False{}:
880 {==}
881 case False{} True{}:
882 {==}
883 case False{} False{}:
884 {==}
885 case 1n+ap 0n:
886 match x y:
887 case True{} True{}:
888 {==}
889 case True{} False{}:
890 {==}
891 case False{} True{}:
892 {==}
893 case False{} False{}:
894 {==}
895 case 1n+ +ap 1n+ +bp:
896 match x y:
897 case True{} True{}:
898 word.cmp_nat.d(ap, bp, True{}, True{})
899 case True{} False{}:
900 word.cmp_nat.d(ap, bp, True{}, False{})
901 case False{} True{}:
902 word.cmp_nat.d(ap, bp, False{}, True{})
903 case False{} False{}:
904 word.cmp_nat.d(ap, bp, False{}, False{})