Presentation is loading. Please wait.

Presentation is loading. Please wait.

Formal Languages, Part Two SIE 550 Lecture Matt Dube Doctoral Student – Spatial.

Similar presentations


Presentation on theme: "Formal Languages, Part Two SIE 550 Lecture Matt Dube Doctoral Student – Spatial."— Presentation transcript:

1 Formal Languages, Part Two SIE 550 Lecture Matt Dube Doctoral Student – Spatial

2 Where we left off on Friday Formal Languages –Terminal Symbols – base-level instances “symbols that we can’t break down further”-Jake –Non-terminal Symbols – rules to extract specific sequences of terminal symbols “symbols that can be broken down” Well Formed Formulas (WFF) –Valid outputs of a formal language –Semantics DO NOT matter! –Logic is not involved TERMINAL SYMBOLS NON- TERMINAL SYMBOLS atom::=proton{proton}{electron}{neutron} Carbon 14 = 6 protons, 6 electrons, 8 neutronsHelium = 2 protons, 5 electrons, 2 neutrons

3 Homework from Friday You are a math teacher and want to take a nap during class. Create a formal language that will generate addition and subtraction problems involving arbitrary terms over positive integers. 48 + 97 – 9 + 17 – 4 – 1 … =?

4 One possible solution start ::= problem problem ::= integer sign {term} integer end term ::= integer sign integer ::= digit/0 {digit} sign ::= “+” | “-” end ::= “=?” digit/0 ::= “1” | “2” | … | “9” digit ::= “0” | “1” | “2” | … | “9”

5 Another Example to Discuss Language for Computer Drawing? undo Just like text, we can interpret this as a formal language and use the same concepts and terminology! Terminal Symbols? Non-terminal Symbols?

6 Questions, Comments, Concerns? Please voice before we move forward

7 Today’s Class Apply formal languages to a class of English sentences Propositional logic First Order Languages Predicates

8 Backus-Naur Form Recall the operators: |::=[]{}“” () These operators are referred to as the Backus-Naur Form. “Language of the language” – meta-language Standard syntax John Backus Peter Naur

9 Example of BNF start ::= transitive_sentence transitive_sentence ::= [article] noun verb [article] noun end article ::= “a” | “an” | “the” noun ::= “tricycle” | “cat” | “veterinarian” | “rubber” | “ferrari” verb ::= “rides” | “fixes” | “eats” | “burns” | “jumps” end ::= “.” the cat fixes the veterinarian.an ferrari eats a cat.ferrari jumps a veterinarianThe tricycle burns rubber.the cat rode a tricycle.a tricycle burns the ferrari.

10 What are the goals? 1.We want a computer to retrieve correct information. 2.We want a computer to tell us correct information. 3.We want a computer to test the correctness of information. 4.We want a computer to infer correct information. Query Language Print Commands ??? Formal Language How should we go about that?

11 Well… How do we do it minus a computer? Propositional Logic –Related statements and then moving information between them –Example: Jake lives in Hampden Hampden is in Maine Therefore Jake lives in Maine. Very effective system if…

12 You expect me to think? I am only a machine! My aren’t they temperamental sometimes!

13 How do we rectify the situation? We need a logic system “Propositional logic”-like, but… We know a computer can: –Handle a formal language –Cross-reference and replace terms –Pass information through code So what’s missing? –We need functions to pass through

14 First Order Logic First order logic = functional propositional logic Example: –man(X) –X=socrates –X=plato man(socrates) -> socrates is a man. man(plato) -> plato is a man. Could we use this?YES –What if we established “man(socrates)” as a terminal symbol and put something above it in the code saying mortal(X)::=man(X)? –Do we find out anything else about socrates?

15 Note Things in a computer program starting with a capital letter are variables. Things in a computer program starting with a lowercase letter are constants. IMPLICATION: The program sees what satisfies the capital letter and then passes that information through the rest of the program.

16 A New Language It is now time to define a new type of formal language: a first order language. WFFs in a first order language –a predicate –(WFF or WFF) –(WFF and WFF) –(WFF implies WFF) –(WFF = WFF) WHAT IS A PREDICATE? animal( )

17 Predicates Gateways –man() Whatever we put inside the parentheses is a man. –father(,) Whatever we put first is the father; second is the child. User defined linkages Predicates are non-terminal symbols Variables are non-terminal symbols Constants are terminal symbols Number of terms in the predicate = arity

18 Use formal language now Treat predicate information based on constants as if they were terminal symbols –man(mike), man(henry), etc. Treat predicate information based on variables as if they were non-terminal symbols –mortal(X)::=man(X) If X is a man, than X is also a mortal. We can now build in as many crazy combinations as we choose.

19 Example What can we say about: JohnSuzy Jack Daniel Almice Tim TERMINAL SYMBOLS AXIOMS PREDICATE CALCULUS parent(X,A) ::= father(X,A) | mother(X,A) child(X,A) ::= father(A,X) | mother(A,X) father(john,suzy) father(jack,daniel) mother(almice,jack) mother(almice,tim)

20 Other Example Commands We used an or statement –Mother or father makes you a parent father(X,A)=child(A,X) –If X is A’s father, then A is a child of X IMPLY parents(X,Y,A)=parent(X,A) parent(Y,A) –X and Y are A’s parents if X is A’s parent and Y is also A’s parent AND


Download ppt "Formal Languages, Part Two SIE 550 Lecture Matt Dube Doctoral Student – Spatial."

Similar presentations


Ads by Google