Documentos de Académico
Documentos de Profesional
Documentos de Cultura
01 Prepa Iteracion Ci2611
01 Prepa Iteracion Ci2611
Sergio Carrillo
14-11315@usb.ve
Mayo de 2021
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Tabla de Contenido
1 Ejercicio
3 Demostraciones
Prueba 0: {H}S{P}
Prueba 1: {P ∧ B0 }S0 {P}
Prueba 2: P ∧ ¬B0 ⇒ Q
Prueba 3: P ∧ B0 ⇒ t ≥ 0
Prueba 4: {P ∧ B0 ∧ t = C}S0 {t < C}
4 Programa Anotado
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
1 Ejercicio
3 Demostraciones
4 Programa Anotado
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
{H : N ≥ 0}
fact, i = 1, N;
∏
{P: fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N}
{Cota t: i}
do i > 1 → fact, i:= fact*i, i−1
od
∏
{Q: fact = ( i | 1 ≤ i ≤ N : i)}
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
1 Ejercicio
3 Demostraciones
4 Programa Anotado
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
1 Ejercicio
3 Demostraciones
Prueba 0: {H}S{P}
Prueba 1: {P ∧ B0 }S0 {P}
Prueba 2: P ∧ ¬B0 ⇒ Q
Prueba 3: P ∧ B0 ⇒ t ≥ 0
Prueba 4: {P ∧ B0 ∧ t = C}S0 {t < C}
4 Programa Anotado
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
1 Ejercicio
3 Demostraciones
Prueba 0: {H}S{P}
Prueba 1: {P ∧ B0 }S0 {P}
Prueba 2: P ∧ ¬B0 ⇒ Q
Prueba 3: P ∧ B0 ⇒ t ≥ 0
Prueba 4: {P ∧ B0 ∧ t = C}S0 {t < C}
4 Programa Anotado
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
Prueba 0
∏
N ≥ 0 ⇒ (fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= 1, N]
1 Ejercicio
3 Demostraciones
Prueba 0: {H}S{P}
Prueba 1: {P ∧ B0 }S0 {P}
Prueba 2: P ∧ ¬B0 ⇒ Q
Prueba 3: P ∧ B0 ⇒ t ≥ 0
Prueba 4: {P ∧ B0 ∧ t = C}S0 {t < C}
4 Programa Anotado
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
Prueba 1 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒
∏
(fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N)[fact, i:= fact*i, i−1]
Prueba 1 II
∏
fact= ( k | i < k ≤ N : k) ∧ 0 ≤ i−1 ∧ i ≤ N
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 II
∏
fact= ( k | i < k ≤ N : k) ∧ 0 ≤ i−1 ∧ i ≤ N
⇐ ⟨ p ∧ q ⇒ p, a+c ≤ b ≡ a ≤ b−c ⟩
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 II
∏
fact= ( k | i < k ≤ N : k) ∧ 0 ≤ i−1 ∧ i ≤ N
⇐ ⟨p ∧ q ⇒ p, a+c ≤ b ≡ a ≤ b−c ⟩
∏
fact= ( k | i < k ≤ N : k) ∧ 0+1 ≤ i ∧ 0 ≤ i ∧ i ≤ N
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 II
∏
fact= ( k | i < k ≤ N : k) ∧ 0 ≤ i−1 ∧ i ≤ N
⇐ ⟨ p ∧ q ⇒ p, a+c ≤ b ≡ a ≤ b−c ⟩
∏
fact= ( k | i < k ≤ N : k) ∧ 0+1 ≤ i ∧ 0 ≤ i ∧ i ≤ N
≡ ⟨ Aritmética, a ≤ b ≡ a < b ∨ a = b ⟩
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 II
∏
fact= ( k | i < k ≤ N : k) ∧ 0 ≤ i−1 ∧ i ≤ N
⇐ ⟨ p ∧ q ⇒ p, a+c ≤ b ≡ a ≤ b−c ⟩
∏
fact= ( k | i < k ≤ N : k) ∧ 0+1 ≤ i ∧ 0 ≤ i ∧ i ≤ N
≡ ⟨ Aritmética, a ≤ b ≡ a < b ∨ a = b ⟩
∏
fact= ( k | i < k ≤ N : k) ∧ (1 < i ∨ i = 1) ∧ 0 ≤ i ≤ N
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 II
∏
fact= ( k | i < k ≤ N : k) ∧ 0 ≤ i−1 ∧ i ≤ N
⇐ ⟨ p ∧ q ⇒ p, a+c ≤ b ≡ a ≤ b−c ⟩
∏
fact= ( k | i < k ≤ N : k) ∧ 0+1 ≤ i ∧ 0 ≤ i ∧ i ≤ N
≡ ⟨ Aritmética, a ≤ b ≡ a < b ∨ a = b ⟩
∏
fact= ( k | i < k ≤ N : k) ∧ (1 < i ∨ i = 1) ∧ 0 ≤ i ≤ N
⇐ ⟨ a < b ≡ b > a, Simetría ∧, p ⇒ p ∨ q ⟩
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 1 II
∏
fact= ( k | i < k ≤ N : k) ∧ 0 ≤ i−1 ∧ i ≤ N
⇐ ⟨ p ∧ q ⇒ p, a+c ≤ b ≡ a ≤ b−c ⟩
∏
fact= ( k | i < k ≤ N : k) ∧ 0+1 ≤ i ∧ 0 ≤ i ∧ i ≤ N
≡ ⟨ Aritmética, a ≤ b ≡ a < b ∨ a = b ⟩
∏
fact= ( k | i < k ≤ N : k) ∧ (1 < i ∨ i = 1) ∧ 0 ≤ i ≤ N
⇐ ⟨ a < b ≡ b > a, Simetría ∧, p ⇒ p ∨ q ⟩
∏
fact= ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
1 Ejercicio
3 Demostraciones
Prueba 0: {H}S{P}
Prueba 1: {P ∧ B0 }S0 {P}
Prueba 2: P ∧ ¬B0 ⇒ Q
Prueba 3: P ∧ B0 ⇒ t ≥ 0
Prueba 4: {P ∧ B0 ∧ t = C}S0 {t < C}
4 Programa Anotado
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ ¬(i > 1) ⇒
∏
fact = ( i | 1 < i ≤ N : i)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ ¬(i > 1) ⇒
∏
fact = ( i | 1 < i ≤ N : i)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ ¬(i > 1) ⇒
∏
fact = ( i | 1 < i ≤ N : i)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ ¬(i > 1) ⇒
∏
fact = ( i | 1 < i ≤ N : i)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ ¬(i > 1) ⇒
∏
fact = ( i | 1 < i ≤ N : i)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ ¬(i > 1) ⇒
∏
fact = ( i | 1 < i ≤ N : i)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ ¬(i > 1) ⇒
∏
fact = ( i | 1 < i ≤ N : i)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ ¬(i > 1) ⇒
∏
fact = ( i | 1 < i ≤ N : i)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 I
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ ¬(i > 1) ⇒
∏
fact = ( i | 1 < i ≤ N : i)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
Prueba 2 II
∏
fact = ( k | i < k ≤ N : k) ∧ (i = 0 ∨ i = 1)
Lema 1
0 ≤ i ∧ i ≤ 1⇒ i = 0 ∨ i = 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Lema 1
0 ≤ i ∧ i ≤ 1⇒ i = 0 ∨ i = 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Lema 1
0 ≤ i ∧ i ≤ 1⇒ i = 0 ∨ i = 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Lema 1
0 ≤ i ∧ i ≤ 1⇒ i = 0 ∨ i = 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Lema 1
0 ≤ i ∧ i ≤ 1⇒ i = 0 ∨ i = 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Lema 1
0 ≤ i ∧ i ≤ 1⇒ i = 0 ∨ i = 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Lema 1
0 ≤ i ∧ i ≤ 1⇒ i = 0 ∨ i = 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Lema 1
0 ≤ i ∧ i ≤ 1⇒ i = 0 ∨ i = 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Lema 1
0 ≤ i ∧ i ≤ 1⇒ i = 0 ∨ i = 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
1 Ejercicio
3 Demostraciones
Prueba 0: {H}S{P}
Prueba 1: {P ∧ B0 }S0 {P}
Prueba 2: P ∧ ¬B0 ⇒ Q
Prueba 3: P ∧ B0 ⇒ t ≥ 0
Prueba 4: {P ∧ B0 ∧ t = C}S0 {t < C}
4 Programa Anotado
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 3
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒ i ≥ 0
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 3
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒ i ≥ 0
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 3
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒ i ≥ 0
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 3
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒ i ≥ 0
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 3
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒ i ≥ 0
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 3
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒ i ≥ 0
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 3
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒ i ≥ 0
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 3
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒ i ≥ 0
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 3
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i > 1 ⇒ i ≥ 0
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
1 Ejercicio
3 Demostraciones
Prueba 0: {H}S{P}
Prueba 1: {P ∧ B0 }S0 {P}
Prueba 2: P ∧ ¬B0 ⇒ Q
Prueba 3: P ∧ B0 ⇒ t ≥ 0
Prueba 4: {P ∧ B0 ∧ t = C}S0 {t < C}
4 Programa Anotado
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 4
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i = C ⇒
(i < C)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 4
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i = C ⇒
(i < C)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 4
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i = C ⇒
(i < C)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 4
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i = C ⇒
(i < C)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 4
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i = C ⇒
(i < C)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 4
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i = C ⇒
(i < C)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 4
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i = C ⇒
(i < C)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 4
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i = C ⇒
(i < C)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Prueba 4
∏
fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N ∧ i = C ⇒
(i < C)[fact, i:= fact*i, i−1]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
1 Ejercicio
3 Demostraciones
4 Programa Anotado
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Programa Anotado
{H : N ≥ 0}
fact, i = 1, N;
∏
{P: fact = ( k | i < k ≤ N : k) ∧ 0 ≤ i ≤ N, Prueba 0}
{Cota t: i}
do i > 1 → {P ∧ i > 1} fact, i:= fact*i, i−1 {P, Prueba 1}
od
∏
{Q: fact = ( i | 1 ≤ i ≤ N : i), Prueba 2, termina: Prueba 3 ∧ Prueba 4}
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Bibliografía
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .