theorem Nat.restrict_pair_injective : ((x0 : ((x0 : AxNat) -> AxNat)) -> ((x1 : AxNat) -> ((x2 : AxNat) -> ((x3 : AxNat) -> ((x4 : AxNat.injectiveOn x0 (AxNat.succ (AxNat.succ x3))) -> ((x5 : AxNat.lt x1 x2) -> ((x6 : AxNat.lt x2 (AxNat.succ (AxNat.succ x3))) -> ((x7 : AxNat.setwise_fixed x0 x1 x2) -> AxNat.injectiveOn (fun (x8 : AxNat) => Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.pred (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.pred (x0 (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.succ (AxNat.succ x8)) (AxNat.succ x8) (AxNat.ble (AxNat.succ (AxNat.succ x8)) x2)) x8 (AxNat.ble (AxNat.succ x8) x1)))) (x0 (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.succ (AxNat.succ x8)) (AxNat.succ x8) (AxNat.ble (AxNat.succ (AxNat.succ x8)) x2)) x8 (AxNat.ble (AxNat.succ x8) x1))) (AxNat.ble (x0 (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.succ (AxNat.succ x8)) (AxNat.succ x8) (AxNat.ble (AxNat.succ (AxNat.succ x8)) x2)) x8 (AxNat.ble (AxNat.succ x8) x1))) x1))) (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.pred (x0 (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.succ (AxNat.succ x8)) (AxNat.succ x8) (AxNat.ble (AxNat.succ (AxNat.succ x8)) x2)) x8 (AxNat.ble (AxNat.succ x8) x1)))) (x0 (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.succ (AxNat.succ x8)) (AxNat.succ x8) (AxNat.ble (AxNat.succ (AxNat.succ x8)) x2)) x8 (AxNat.ble (AxNat.succ x8) x1))) (AxNat.ble (x0 (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.succ (AxNat.succ x8)) (AxNat.succ x8) (AxNat.ble (AxNat.succ (AxNat.succ x8)) x2)) x8 (AxNat.ble (AxNat.succ x8) x1))) x1)) (AxNat.ble (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.pred (x0 (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.succ (AxNat.succ x8)) (AxNat.succ x8) (AxNat.ble (AxNat.succ (AxNat.succ x8)) x2)) x8 (AxNat.ble (AxNat.succ x8) x1)))) (x0 (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.succ (AxNat.succ x8)) (AxNat.succ x8) (AxNat.ble (AxNat.succ (AxNat.succ x8)) x2)) x8 (AxNat.ble (AxNat.succ x8) x1))) (AxNat.ble (x0 (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (Bool.rec.{1} (fun (x9 : Bool) => AxNat) (AxNat.succ (AxNat.succ x8)) (AxNat.succ x8) (AxNat.ble (AxNat.succ (AxNat.succ x8)) x2)) x8 (AxNat.ble (AxNat.succ x8) x1))) x1)) (AxNat.pred x2))) x3))))))))