History of AI Intelligence and Kinds of AI Some Subareas of AI Artificial Intelligence An Introduction 1 Instructor: Dr. B. John Oommen Chancellor’s Professor Fellow: IEEE; Fellow: IAPR School of Computer Science, Carleton University, Canada. 1 The primary source of these notes are the slides of Professor Hwee Tou Ng from Singapore. I sincerely thank him for this. 1/29
58
Embed
Artificial Intelligence An Introductionpeople.scs.carleton.ca/~oommen/Courses/COMP4106Winter15/AI_Ch1... · Artificial Intelligence An Introduction1 Instructor: ... 1The primary
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Artificial IntelligenceAn Introduction1
Instructor: Dr. B. John Oommen
Chancellor’s ProfessorFellow: IEEE; Fellow: IAPR
School of Computer Science, Carleton University, Canada.
1The primary source of these notes are the slides of Professor Hwee TouNg from Singapore. I sincerely thank him for this.
Turing Machine (TM)Turing Test “Operationalizing” Intelligence
Machine’s ability to demonstrate intelligenceHuman Judge “converses” with human and machineBOTH try to appear humanAll participants are placed in isolated locationsIf Judge cannot reliably tell the machine from the human, themachine Passes the test
The Test itself
Turing-Church Thesis:If a problem is not solvable by a TM, it is not solvable bypeople either
Turing Machine (TM)Turing Test “Operationalizing” Intelligence
Machine’s ability to demonstrate intelligenceHuman Judge “converses” with human and machineBOTH try to appear humanAll participants are placed in isolated locationsIf Judge cannot reliably tell the machine from the human, themachine Passes the test
The Test itself
Turing-Church Thesis:If a problem is not solvable by a TM, it is not solvable bypeople either
Turing Machine (TM)Turing Test “Operationalizing” Intelligence
Machine’s ability to demonstrate intelligenceHuman Judge “converses” with human and machineBOTH try to appear humanAll participants are placed in isolated locationsIf Judge cannot reliably tell the machine from the human, themachine Passes the test
The Test itself
Turing-Church Thesis:If a problem is not solvable by a TM, it is not solvable bypeople either
Turing Machine (TM)Turing Test “Operationalizing” Intelligence
Machine’s ability to demonstrate intelligenceHuman Judge “converses” with human and machineBOTH try to appear humanAll participants are placed in isolated locationsIf Judge cannot reliably tell the machine from the human, themachine Passes the test
The Test itself
Turing-Church Thesis:If a problem is not solvable by a TM, it is not solvable bypeople either
Study of design and purposeAll things to be designed for or directed toward a final resultThere is an inherent purpose or final cause for all that exists
HomeostatDevice built by Ashby in 1948Adaptive ultrastable system from four bomb control unitsHad inputs and feedbackUsed magnetically-driven water-filled potentiometersStabilizes effects of disturbances introduced into the systemTime: “Closest thing to a synthetic brain... designed by man”
Study of design and purposeAll things to be designed for or directed toward a final resultThere is an inherent purpose or final cause for all that exists
HomeostatDevice built by Ashby in 1948Adaptive ultrastable system from four bomb control unitsHad inputs and feedbackUsed magnetically-driven water-filled potentiometersStabilizes effects of disturbances introduced into the systemTime: “Closest thing to a synthetic brain... designed by man”
Study of design and purposeAll things to be designed for or directed toward a final resultThere is an inherent purpose or final cause for all that exists
HomeostatDevice built by Ashby in 1948Adaptive ultrastable system from four bomb control unitsHad inputs and feedbackUsed magnetically-driven water-filled potentiometersStabilizes effects of disturbances introduced into the systemTime: “Closest thing to a synthetic brain... designed by man”
3/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
History of AI: 1940’s
1940s: Walter, von NeumannMachina Speculatrix (Elmer 1948, and Elsie 1949)
First electronic autonomous robotsRich connections between a small number of brain cells -Very complex behaviorsDescribed as tortoises due to their shape and slow motion“Taught us” about the secrets of organization and lifeThree-wheeled tortoise robotsCould find their way to a recharging station
Self-reproducing automataSelf-replication: Process by which a thing copies of itselfSelf-reproductive systems:Produce copies of themselvesPrimitives: From metal bar and wireSelf-assembling systemsAssemble copies of themselves from finished partsSelf-reproducing “computer programs”
4/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
History of AI: 1940’s
1940s: Walter, von NeumannMachina Speculatrix (Elmer 1948, and Elsie 1949)
First electronic autonomous robotsRich connections between a small number of brain cells -Very complex behaviorsDescribed as tortoises due to their shape and slow motion“Taught us” about the secrets of organization and lifeThree-wheeled tortoise robotsCould find their way to a recharging station
Self-reproducing automataSelf-replication: Process by which a thing copies of itselfSelf-reproductive systems:Produce copies of themselvesPrimitives: From metal bar and wireSelf-assembling systemsAssemble copies of themselves from finished partsSelf-reproducing “computer programs”
4/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
History of AI: 1950’s
1950s: Simon, Newell, McCarthy, Minsky: “AI” (1956)Fundamentals of ClassificationNeural networksPerceptron
SHRDLU was an early NLP developed by Winograd at MITMicro Planner and Lisp programming language on a PDP-6SHRDLU was derived from ETAOIN SHRDLUArrangement of the alpha keys on a Linotype machine indescending frequency order
SHRDLU was an early NLP developed by Winograd at MITMicro Planner and Lisp programming language on a PDP-6SHRDLU was derived from ETAOIN SHRDLUArrangement of the alpha keys on a Linotype machine indescending frequency order
6/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
History of AI: 1970’s & 1980’s
1970s: Theorem proving, Planning
1980s: NN / Connectionist boom, Boltzmann Machine
1980s: Knowledge Representation (KR)
1980s: More semantics in NLP (Conceptual Dependency)
1980s: Symbolic Machine Learning (ML)
7/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
History of AI: Since 1990’s
More NNSubsumption Architecture (Brooks)
Decompose complicated intelligent behaviourMany “simple” behaviour modules organized into layersEach layer implements a particular goalHigher layers are increasingly abstractA robot’s layers:
Lowest layer could be “avoid an object”On top of it would be the layer “wander around”Which in turn lies under “explore the world”
Uses a bottom-up design
8/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
History of AI: Since 1990’s
More NNSubsumption Architecture (Brooks)
Decompose complicated intelligent behaviourMany “simple” behaviour modules organized into layersEach layer implements a particular goalHigher layers are increasingly abstractA robot’s layers:
Lowest layer could be “avoid an object”On top of it would be the layer “wander around”Which in turn lies under “explore the world”
Uses a bottom-up design
8/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
History of AI: Since 1990’s
Reinforcement Learning
Bayesian Belief Nets
Data Mining
More NN, More GA, GP, Artificial-Life
More GAs, Genetic Programming (GP), Artificial-Life
“Bottom-up or behavior-based AI” vs “Top-down AI”
“Emergent Computing”, Swarm Intelligence
Self-Organization...
9/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
History of AI: Since 1990’s
Reinforcement Learning
Bayesian Belief Nets
Data Mining
More NN, More GA, GP, Artificial-Life
More GAs, Genetic Programming (GP), Artificial-Life
“Bottom-up or behavior-based AI” vs “Top-down AI”
“Emergent Computing”, Swarm Intelligence
Self-Organization...
9/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
What is Intelligence
Intelligence is:Intellectual (?) behavior that we admireBut don’t understandIntelligence is manifested in behaviorClosely related to surviving in a complex worldOr ...
10/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
“2” kinds of AI (or 3 or 4)
Engineering vs “Cognitive Science”Making usefully smart machines, somehow:
Expert systems; Deep Blue; some Data Mining
Understanding how minds workAI to express and test psychological/linguistic etc. theories
11/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
Kinds of AI
Classical/Top-down / Symbolic vs Behavior-based /Bottom-up / Subsymbolic Mind vs Brain
“Physical symbol system hypothesis”Hi-level approach is brittleBottom-up approach often unimpressive
Scruffies vs Neats
12/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
Kinds of AI
Classical/Top-down / Symbolic vs Behavior-based /Bottom-up / Subsymbolic Mind vs Brain
“Physical symbol system hypothesis”Hi-level approach is brittleBottom-up approach often unimpressive
Scruffies vs Neats
12/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
Kinds of AI
Weak AI vs Strong AIChinese Room argument (John Searle)No such things as AI...An experiment: Someone who knows only EnglishSits alone in a room following English instructions formanipulating strings of Chinese charactersTo those outside the room it appears as if someone in theroom understands Chinese.Shows that while computers may appear to converse innatural language, they cannot – even in principle.Searle argues that computers merely use syntactic rules tomanipulate symbol stringsHave no understanding of meaning or semantics.
13/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
AI: All about Tradeoffs
Theoretical insights in AI: Concern tradeoffs
Tradeoffs: Efficiency and Generality
Tradeoffs: Robustness and Power
Tradeoffs: Design complexity - Ability to degrade gracefully
Tradeoffs: Prior cooking and Achievement
Tradeoffs: Memory and Inference
Above All Tradeoffs: Memory and Time
14/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
AI: All about Tradeoffs
Theoretical insights in AI: Concern tradeoffs
Tradeoffs: Efficiency and Generality
Tradeoffs: Robustness and Power
Tradeoffs: Design complexity - Ability to degrade gracefully
Tradeoffs: Prior cooking and Achievement
Tradeoffs: Memory and Inference
Above All Tradeoffs: Memory and Time
14/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
AI: All about Tradeoffs
Theoretical insights in AI: Concern tradeoffs
Tradeoffs: Efficiency and Generality
Tradeoffs: Robustness and Power
Tradeoffs: Design complexity - Ability to degrade gracefully
Tradeoffs: Prior cooking and Achievement
Tradeoffs: Memory and Inference
Above All Tradeoffs: Memory and Time
14/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
AI: All about Tradeoffs
Theoretical insights in AI: Concern tradeoffs
Tradeoffs: Efficiency and Generality
Tradeoffs: Robustness and Power
Tradeoffs: Design complexity - Ability to degrade gracefully
Tradeoffs: Prior cooking and Achievement
Tradeoffs: Memory and Inference
Above All Tradeoffs: Memory and Time
14/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
AI: All about Tradeoffs
Theoretical insights in AI: Concern tradeoffs
Tradeoffs: Efficiency and Generality
Tradeoffs: Robustness and Power
Tradeoffs: Design complexity - Ability to degrade gracefully
Tradeoffs: Prior cooking and Achievement
Tradeoffs: Memory and Inference
Above All Tradeoffs: Memory and Time
14/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
AI: All about Tradeoffs
Theoretical insights in AI: Concern tradeoffs
Tradeoffs: Efficiency and Generality
Tradeoffs: Robustness and Power
Tradeoffs: Design complexity - Ability to degrade gracefully
Tradeoffs: Prior cooking and Achievement
Tradeoffs: Memory and Inference
Above All Tradeoffs: Memory and Time
14/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
AI must be Scruffy...
Neatness is impossible in complex domains
Complex domains: Structure that requires solutionsFound by exploring branching paths in a search space
No. of branches is exponential function of path depth
Any intelligent agent needs to find tricks and shortcuts
Even in formally specified domains!
Unless: Infinitely large and fast computers
Good shortcuts cannot be worked out in advance
They are not perfect - even in mathematics
Shortcuts & laziness: Go hand in hand...
Key to intelligence (Gauss 1..100)
15/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
AI must be Scruffy...
Neatness is impossible in complex domains
Complex domains: Structure that requires solutionsFound by exploring branching paths in a search space
No. of branches is exponential function of path depth
Any intelligent agent needs to find tricks and shortcuts
Even in formally specified domains!
Unless: Infinitely large and fast computers
Good shortcuts cannot be worked out in advance
They are not perfect - even in mathematics
Shortcuts & laziness: Go hand in hand...
Key to intelligence (Gauss 1..100)
15/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
AI must be Scruffy...
Neatness is impossible in complex domains
Complex domains: Structure that requires solutionsFound by exploring branching paths in a search space
No. of branches is exponential function of path depth
Any intelligent agent needs to find tricks and shortcuts
Even in formally specified domains!
Unless: Infinitely large and fast computers
Good shortcuts cannot be worked out in advance
They are not perfect - even in mathematics
Shortcuts & laziness: Go hand in hand...
Key to intelligence (Gauss 1..100)
15/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
The Real World is even Harder
Lack of complete initial informationRange of things to do is large (branching factor!)Search spaces are hugeThings happen fastThere are deadlinesRapidly accessible and executable heuristicsMust be learned by trial and error (for example)Such heuristic rules are bound to be fallible
OvergeneralizationPoor observations, weak sensorsErrors in measurementInadequate conceptsNoise, environmental variance etc...
16/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
The Real World is even Harder
Lack of complete initial informationRange of things to do is large (branching factor!)Search spaces are hugeThings happen fastThere are deadlinesRapidly accessible and executable heuristicsMust be learned by trial and error (for example)Such heuristic rules are bound to be fallible
OvergeneralizationPoor observations, weak sensorsErrors in measurementInadequate conceptsNoise, environmental variance etc...
16/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
The Real World is even Harder
Lack of complete initial informationRange of things to do is large (branching factor!)Search spaces are hugeThings happen fastThere are deadlinesRapidly accessible and executable heuristicsMust be learned by trial and error (for example)Such heuristic rules are bound to be fallible
OvergeneralizationPoor observations, weak sensorsErrors in measurementInadequate conceptsNoise, environmental variance etc...
16/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
Problems with Heuristics
Rules and facts should be consistentConsistency is undecidable(Approximate) Consistency checking is explosiveMaintaining consistency also explosive
To revise a belief, you needFallible heuristicsAllow for finding related beliefsIdentifying and retracting underlying assumptions etc.
A huge reason maintenance system won’t do
17/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
Problems with Heuristics
Rules and facts should be consistentConsistency is undecidable(Approximate) Consistency checking is explosiveMaintaining consistency also explosive
To revise a belief, you needFallible heuristicsAllow for finding related beliefsIdentifying and retracting underlying assumptions etc.
A huge reason maintenance system won’t do
17/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
Problems with Heuristics
Rules and facts should be consistentConsistency is undecidable(Approximate) Consistency checking is explosiveMaintaining consistency also explosive
To revise a belief, you needFallible heuristicsAllow for finding related beliefsIdentifying and retracting underlying assumptions etc.
A huge reason maintenance system won’t do
17/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
Semantics is Scruffy too
Conceptual schemes: Open-ended
Unlike formal languagesThere is no formal, recursive semantics for NL:
We don’t know the extension-assigning functions!
Concepts:May be indeterminate, vague, or ambiguousPrompt conceptual innovationsEmpirical concepts: No crisp necess./suff. conditionsMany concepts are theoretical
18/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
Semantics is Scruffy too
Conceptual schemes: Open-ended
Unlike formal languagesThere is no formal, recursive semantics for NL:
We don’t know the extension-assigning functions!
Concepts:May be indeterminate, vague, or ambiguousPrompt conceptual innovationsEmpirical concepts: No crisp necess./suff. conditionsMany concepts are theoretical
18/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
Scruffiness is Inevitable
Scruffiness Inevitable for any resource-limited being!
No practical strategy to reduce scruffiness works always
AI must be scruffy, for neat reasonsThus: Study what the history has come up with
Of course: Theories about such inevitably scruffy systemsAs neat as possible (maximally falsifiable etc.!!)
19/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
Scruffiness is Inevitable
Scruffiness Inevitable for any resource-limited being!
No practical strategy to reduce scruffiness works always
AI must be scruffy, for neat reasonsThus: Study what the history has come up with
Of course: Theories about such inevitably scruffy systemsAs neat as possible (maximally falsifiable etc.!!)
19/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
By the WayNearly anything you want to compute you can’t !!
Because there are countably many Turing machinesBut Uncountably many functions
The interesting things you can computeToo expensive to computeSo, you can’t compute themExponential worst case run-time functionsT (n) = kCn e.g. 1 input item takes 10−7 sec, n=50,complexity is 2n : 20 ∗ 1013 years
Biological systems must use approximate solutionsLearning: On-line regularity detection for predictionExperimentation and mental simulation
“To be adaptable, an organism must be suboptimal”(Gould)
20/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
By the WayNearly anything you want to compute you can’t !!
Because there are countably many Turing machinesBut Uncountably many functions
The interesting things you can computeToo expensive to computeSo, you can’t compute themExponential worst case run-time functionsT (n) = kCn e.g. 1 input item takes 10−7 sec, n=50,complexity is 2n : 20 ∗ 1013 years
Biological systems must use approximate solutionsLearning: On-line regularity detection for predictionExperimentation and mental simulation
“To be adaptable, an organism must be suboptimal”(Gould)
20/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
By the WayNearly anything you want to compute you can’t !!
Because there are countably many Turing machinesBut Uncountably many functions
The interesting things you can computeToo expensive to computeSo, you can’t compute themExponential worst case run-time functionsT (n) = kCn e.g. 1 input item takes 10−7 sec, n=50,complexity is 2n : 20 ∗ 1013 years
Biological systems must use approximate solutionsLearning: On-line regularity detection for predictionExperimentation and mental simulation
“To be adaptable, an organism must be suboptimal”(Gould)
20/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
By the WayNearly anything you want to compute you can’t !!
Because there are countably many Turing machinesBut Uncountably many functions
The interesting things you can computeToo expensive to computeSo, you can’t compute themExponential worst case run-time functionsT (n) = kCn e.g. 1 input item takes 10−7 sec, n=50,complexity is 2n : 20 ∗ 1013 years
Biological systems must use approximate solutionsLearning: On-line regularity detection for predictionExperimentation and mental simulation
“To be adaptable, an organism must be suboptimal”(Gould)
20/29
History of AIIntelligence and Kinds of AI
Some Subareas of AI
Kinds of AIAI: All about Trade-offsAI must be ScruffyHeuristics and SemanticsScruffinessAI is Highly Interdisciplinary
AI is Highly Interdisciplinary
Many fields have contributed to AI
In the form of ideas, viewpoints and techniques
Philosophy: Logic, reasoning, mind as a physical system
ReasoningUniversal inference methods“Weak” methods, e.g. hill climbingDomain-independent search through symbolic state spacesProblem-solving/planning theorem proving - first principles
ReasoningUniversal inference methods“Weak” methods, e.g. hill climbingDomain-independent search through symbolic state spacesProblem-solving/planning theorem proving - first principles