theorem CReal.sqrtApproxSqBracket : ((x0 : CReal) -> ((x1 : AxNat) -> And (Rat.le (Rat.normalize (Int.mul (Int.ofNat (CReal.natSqrt (AxNat.div (AxNat.mul (Int.natAbs (Rat.num (Rat.max (CReal.seq x0 (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) Rat.zero))) (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) (Rat.den (Rat.max (CReal.seq x0 (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) Rat.zero))))) (Int.ofNat (CReal.natSqrt (AxNat.div (AxNat.mul (Int.natAbs (Rat.num (Rat.max (CReal.seq x0 (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) Rat.zero))) (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) (Rat.den (Rat.max (CReal.seq x0 (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) Rat.zero)))))) (AxNat.mul (AxNat.succ x1) (AxNat.succ x1)) (AxNat.one_le_mul (AxNat.succ x1) (AxNat.succ x1) (AxNat.le_succ_succ AxNat.zero x1 (AxNat.zero_le x1)) (AxNat.le_succ_succ AxNat.zero x1 (AxNat.zero_le x1)))) (Rat.max (CReal.seq x0 (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) Rat.zero)) (Rat.lt (Rat.max (CReal.seq x0 (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) Rat.zero) (Rat.normalize (Int.mul (Int.ofNat (AxNat.succ (CReal.natSqrt (AxNat.div (AxNat.mul (Int.natAbs (Rat.num (Rat.max (CReal.seq x0 (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) Rat.zero))) (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) (Rat.den (Rat.max (CReal.seq x0 (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) Rat.zero)))))) (Int.ofNat (AxNat.succ (CReal.natSqrt (AxNat.div (AxNat.mul (Int.natAbs (Rat.num (Rat.max (CReal.seq x0 (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) Rat.zero))) (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) (Rat.den (Rat.max (CReal.seq x0 (AxNat.mul (AxNat.succ x1) (AxNat.succ x1))) Rat.zero))))))) (AxNat.mul (AxNat.succ x1) (AxNat.succ x1)) (AxNat.one_le_mul (AxNat.succ x1) (AxNat.succ x1) (AxNat.le_succ_succ AxNat.zero x1 (AxNat.zero_le x1)) (AxNat.le_succ_succ AxNat.zero x1 (AxNat.zero_le x1)))))))