Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
If and only if
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==When "if" means "if and only if"== In their ''[[Artificial Intelligence: A Modern Approach]]'', [[Stuart J. Russell|Russell]] and [[Peter Norvig|Norvig]] note (page 282),<ref name="Russell_Norvig_1995_2020">{{cite book | last1=Russell |first1=Stuart J. |author-link= Stuart J. Russell |last2=Norvig |first2=Peter |title=Artificial Intelligence: A Modern Approach |publisher=[[Prentice Hall]] |orig-date=1995|edition=4 |date=2020 |pages=1136 | isbn = 978-0-13-461099-3 | oclc= 359890490}}</ref> in effect, that it is often more natural to express ''if and only if'' as ''if'' together with a "database (or logic programming) semantics". They give the example of the English sentence "Richard has two brothers, Geoffrey and John". In a [[database]] or [[logic programming|logic program]], this could be represented simply by two sentences: :Brother(Richard, Geoffrey). :Brother(Richard, John). The database semantics interprets the database (or program) as containing ''all'' and ''only'' the knowledge relevant for problem solving in a given domain. It interprets ''only if'' as expressing in the metalanguage that the sentences in the database represent the ''only'' knowledge that should be considered when drawing conclusions from the database. In [[first-order logic]] (FOL) with the standard semantics, the same English sentence would need to be represented, using ''if and only if'', with ''only if'' interpreted in the object language, in some such form as: :<math>\forall </math> X(Brother(Richard, X) iff X = Geoffrey or X = John). :Geoffrey ≠ John. Compared with the standard semantics for FOL, the database semantics has a more efficient implementation. Instead of reasoning with sentences of the form: :''conclusion iff conditions'' it uses sentences of the form: :''conclusion if conditions'' to [[forward chaining|reason forwards]] from ''conditions'' to ''conclusions'' or [[backward chaining|backwards]] from ''conclusions'' to ''conditions''. The database semantics is analogous to the legal principle [[expressio unius est exclusio alterius]] (the express mention of one thing excludes all others). Moreover, it underpins the application of logic programming to the representation of legal texts and legal reasoning.<ref>Kowalski, R., Dávila, J., Sartor, G. and Calejo, M., 2023. Logical English for law and education. http://www.doc.ic.ac.uk/~rak/papers/Logical%20English%20for%20Law%20and%20Education%20.pdf In Prolog: The Next 50 Years (pp. 287-299). Cham: Springer Nature Switzerland.</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)