Está en la página 1de 1

N OTAS DE LÓGICA PROPOSICIONAL

1 Algunas fórmulas útiles


El símbolo ≡ representa la equivalencia ⇔.
1. A ⇒ B ≡ ¬A ∨ B
2. ¬¬A ≡ A
3. A ⇒ true
4. f alse ⇒ A
5. A ∨ true ≡ true
6. A ∧ true ≡ A
7. A ∨ f alse ≡ A
8. A ∧ f alse ≡ f alse.
9. true ⇒ A ≡ A. En este caso A ≡ true
10. A ⇒ f alse ≡ ¬A. En este caso A ≡ f alse
11. A ∧ B ⇒ A
12. A ∧ B ⇒ B
13. A ⇒ A ∨ B (si x > 0, entonces x ≥ 0
14. B ⇒ A ∨ B (si x = 0, entonces x ≥ 0
15. ¬(A ∨ B) ≡ (¬A) ∧ (¬B)
16. ¬(A ∧ B) ≡ (¬A) ∨ (¬B)
17. A ⇒ (B ∨ C) ≡ (A ⇒ B) ∨ (A ⇒ C)
18. A ⇒ (B ∧ C) ≡ (A ⇒ B) ∧ (A ⇒ C)
19. A ⇒ (B ⇒ C) ≡ (A ∧ B) ⇒ C
20. (B ⇒ C1 ) ∧ ((¬B) ⇒ C2 ) ≡ (B ∧ C1 ) ∨ ((¬B) ∧ C2 )

2 Aplicación
La más débil precondición para un if–then–else:
WP(if b then c0 else c1 , Q) ≡ (b∧WP(c0 , Q))∨((¬b)∧WP(c1 , Q)) ≡ (b ⇒ WP(c0 , Q))∧((¬b) ⇒
WP(c1 , Q)
Por lo tanto |= {P } if b then c0 else c1 {Q} sí y solo si P ⇒ (b ⇒ WP(c0 , Q) ∧ ((¬b) ⇒
WP(c1 , Q))) lo cual, por las fórmulas del apartado anterior es equivalente a:
(P ∧ b ⇒ WP(c0 , Q)) ∧ (P ∧ (¬b) ⇒ WP(c1 , Q))
o sea: |= {P ∧ b}c0 {Q} y |= {P ∧ (¬b)}c1 {Q}