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