{
var do_div =
div_next =>
count =>
remainder =>
divisor =>
lib.to_boolean(lib.IS_LTE(divisor)(remainder))
? div_next(lib.SUCC(count))
(lib.SUBTRACT(remainder)(divisor))
(divisor)
: lib.PAIR(count)(remainder)
var DIV = val1 => val2 => Y(do_div)(lib.ZERO)(val1)(val2)
return {
"10_divided_by_3_quotient": lib.to_integer(lib.HEAD(DIV(lib.TEN)(lib.THREE)))
, "10_divided_by_3_dividend": lib.to_integer(lib.TAIL(DIV(lib.TEN)(lib.THREE)))
, "12_divided_by_2_quotient": lib.to_integer(lib.HEAD(DIV(lib.TWELVE)(lib.SIX)))
, "12_divided_by_2_dividend": lib.to_integer(lib.TAIL(DIV(lib.TWELVE)(lib.SIX)))
, "5_divided_by_9_quotient": lib.to_integer(lib.HEAD(DIV(lib.FIVE)(lib.NINE)))
, "5_divided_by_9_dividend": lib.to_integer(lib.TAIL(DIV(lib.FIVE)(lib.NINE)))
}
}