Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
teaching:cc4101:tareas:2015-2:tarea2 [2015/10/10 16:15] – [(3.0) Interpretación sobre conjuntos finitos] racruzteaching:cc4101:tareas:2015-2:tarea2 [2015/10/10 16:16] – [(1.3) Optimización] racruz
Line 166: Line 166:
     * ¬¬p <=> p     * ¬¬p <=> p
   Con esto se puede asegurar que en un programa válido, después de las negaciones ¬ no aparecen las expresiones: v, ^, ∀, ∃, ¬. Entiéndase programa válido (a este nivel), aquellos programas que no contienen operaciones invalidas como ''%%(+ #f 1)%%''. Ejemplos: <code scheme>   Con esto se puede asegurar que en un programa válido, después de las negaciones ¬ no aparecen las expresiones: v, ^, ∀, ∃, ¬. Entiéndase programa válido (a este nivel), aquellos programas que no contienen operaciones invalidas como ''%%(+ #f 1)%%''. Ejemplos: <code scheme>
-> (simplify-negations (parse-expr '(¬ (or (¬ p) (¬ q)))))+> (simplify-negations (parse-expr '(not (or (not p) (not q)))))
 (my-and (id 'p) (id 'q)) (my-and (id 'p) (id 'q))
-> (simplify-negations (parse-expr '(¬ (¬ (¬ (or p q))))))+> (simplify-negations (parse-expr '(not (not (not (or p q))))))
 (my-and (my-not (id 'p)) (my-not (id 'q))) (my-and (my-not (id 'p)) (my-not (id 'q)))
     </code>     </code>