inc s x s inc x inc 0 s 0 plus x y ifPlus eq x 0 minus x s 0 x inc x ifPlus false x y z plus x z ifPlus true x y z y minus s x s y minus x y minus 0 x 0 minus x 0 x minus x x 0 eq s x s y eq x y eq 0 s x false eq s x 0 false eq 0 0 true eq x x true times x y timesIter x y 0 timesIter x y z ifTimes eq x 0 minus x s 0 y z plus y z ifTimes true x y z u z ifTimes false x y z u timesIter x y u f g f h 2.2 eq s x s y eq x y timesIter x y z plus y z ifPlus false x y z plus x z plus x y minus x s 0 inc s x inc x times x y timesIter x y 0 ifTimes false x y z u timesIter x y u plus x y ifPlus eq x 0 minus x s 0 x inc x plus x y inc x timesIter x y z minus x s 0 timesIter x y z ifTimes eq x 0 minus x s 0 y z plus y z minus s x s y minus x y plus x y eq x 0 timesIter x y z eq x 0 true times x y timesIter x y 0 false ifTimes false x y z u timesIter x y u timesIter x y z ifTimes eq x 0 minus x s 0 y z plus y z true Failed! NaTT certifiable-1.6