Download presentation
Presentation is loading. Please wait.
1
Procedural Semantics of TIL
Marie Duží
2
Semantic schema Expression expresses constructs object
denotes meaning (construction) constructs object TIL Ontology of objects: ramified hierarchy of types
3
Basic notions Construction
Variables x, y, p, w, t, … v-construct Trivialization 0X refers to the object X Composition [F A1 … An] application of a function Closure [x1…xn X] declaration of a function Execution 1X, Double Execution 2X Simple theory of types (non-procedural objects) Base: {, , , } Functional types: (1…n) Partial functions (1 … n)
4
Basic notions The denoted object can be: Typical extensions:
The denoted object is always a function, possibly of zero arity, i.e. an atomic object like individual, truth-value, number The denoted object can be: (PWS-)intension: (), frequently (()), or for short Extension: a function whose domain is not Construction (i.e. meaning of another embedded expression) nothing (partiality) Typical extensions: -sets are modelled by their characteristic functions: () Relations(-in-extension) are of type () Typical intensions: Properties of individuals/(), individual offices (roles)/, propositions/, relations-in-intension between individuals/(), attributes/() …
5
Basic notions, notation
propositional-logic connectives (truth-value functions): implication (), conjunction (), disjunction () and equivalence () are functions of type (), negation () is of type (). We use infix notation without Trivialization For instance, instead of ‘[0 [0 p q] [0q]]’ we can write ‘[[p q] q]’. For relations of -identity, =/(), we also use infix notation without Trivialization and without the subscript . For instance, let =/() be the identity of individuals, =(())/() the identity of propositions; a, b v , P v (). Then instead of [0 [0= a b] [0=(()) [wt [Pwt a]] [wt [Pwt b]]]] we will simply write [[a = b] [wt [Pwt a] = wt [Pwt b]]].
6
Basic notions, notation
Quantifiers (total functions) , / (()). Let x v , B v , hence x B(x) v (), then [0 x B(x)] v-constructs T, if x B(x) v-constructs the whole type , otherwise F, [0 x B(x)] v-constructs T, if x B(x) v-constructs a non-empty set of elements of type , otherwise F. Notation: x B(x), x B(x) Singularizers (partial functions) I / (()). [0I x B(x)] v-constructs the only -element of the set v-constructed by x B(x), if this set is a singleton, otherwise undefined. Notation: x B(x) reads „the only x, such that B“
7
Example „the only man to run 100 m under 9 s“
Man/(), Time/(()), Run/(), I/(()): the only…, the whole expression denotes . wt [0I x [[0Manwt x] [0Time t [0Runwt x 0100]] < 09]] () () (()) () () (()) () ()
8
Ramified hierarchy of types
T1 (types of order 1) – non-procedural objects, simple theory of types Cn (constructions of order n) Let x be a variable that ranges over a type of order n. Then x is a construction of order n over B. Let X is an object of a type of order n. Then 0X, 1X, 2X are constructions of order n over B. Let X, X1, ..., Xm (m > 0) be constructions of order n over B. Then [X X1... Xm] is a construction of order n over B. Let x1, ..., xm, X (m > 0) be constructions of order n over B. Then [x1...xm X] is a construction of order n over B. Nothing else … Tn+1 (types of order n + 1) Let n is a collection of all constructions of order n over B. Then n and every type of order n are types of order n + 1 over B. If , 1,...,m (m > 0) are types of order n + 1 over B, then ( 1 ... m), is a type of order n + 1 over B.
9
examples, notation: C/ v
0+/1 (), x /1 v [0+ x 01]/1 v x [0+ x 01]/1 v () successor function [x [0+ x 01] 05] /1 v the number 6 [0: x 00]/1 v nothing x [0: x 00]/1 v () degenerate function Let Improper/(1) be the set of constructions of order 1 which are v-improper for every valuation v. Hence Improper is an extensional object belonging to (1), which is a type of order 2. Then [0Improper 0[0: x 00]] /2 is an element of 2, which is a type of order 3, though it v- constructs the truth-value T, the object of a type of order 1.
10
examples Let Arithmetic be the set of unary arithmetic functions defined on natural numbers; hence Arithmetic / (()); and let x v , where is the type of natural numbers. Then the Composition [0Aritmetic [x [0+ x 01]]] belongs to 1, the type of order 2, and it constructs T, because the Closure [x [0+ x 01]] () constructs the unary successor function, which is an arithmetic function.
11
Examples Composition [0Aritmetic 2c]/3 v v-constructs the truth-value T, if the variable c/2 v 1 v-constructs for instance the Closure [x [0+ x 01]]. Double Execution 2c v-constructs what is v-constructed by the Closure, which is an arithmetic successor function; The Composition [0Aritmetic 2c] is an object belonging to 3, which is a type of order 4; variable c v-constructs the Closure [x [0+ x 01]] belonging to 1, hence c belongs to 2, which is a type of order 3; Double Execution raises the order of a construction, hence 2c belongs to 3, which is a type of order 4. Thus the whole Composition [0Aritmetic 2c] belongs to 3, a type of order 4.
12
Empirical expressions
Empirical expressions denote non-trivial (i.e. non-constant) intensions „King of France“, „the prezident of ČR“, „the highest mountain“ denote offices (roles) of type , and actually refer (in this w and t) to nothing, Miloš Zeman and Mount Everest, respectively. Yet the referred object must be found out empirically Predicates like „to be a student“, „to be red“, „to be happy“, „to be of the age 60“ denote properties of type () and refer to their population, i.e. to a set of individuals who happen to be students, red, happy and of the age 60, respectively. Sentences like „Prague is greater than Brno“ denote propositions of type and refer to a truth-value (this sentence to T). Hence these expressions are empirical, because the object to which they happen to refer in a given state of the world is beyond logical analysis; it can be determined only by empirical investigation of the state of the world at a given time moment.
13
Analytic expressions Analytic expressions denote extensions or trivial (i.e. constant) intensions The objects they denote can be determined by mere understanding a given expression, without empirically investigating the state of the world. Mathematical and logical expressions are analytical, they denote extensions Expressions that contain empirical subexpressions are analytical, if they denote constant intensions. Hence the referred object is necessarily, in all worlds w and times t one and the same. „No bachelor is married“ „Whales are mammals“ Denote the constant proposition True, that takes value T in all w and t
14
Restricted quantifiers
All students are clever. Some students are lazy. wt x [[0Studentwt x] [0Cleverwt x]] wt x [[0Studentwt x] [0Lazywt x]] These analyses are not literal ones, because they are not in harmony with the so-called „Parmenides principle“ and with our method of literal analysis: the sentences do not mention , . Thus we introduce restricted quantifiers All, Some, No, Most, … of type ((())()) [0All M], M v (), v-constructs the set of all supersets of M [0Some M], M v (), v-constructs the set of those sets that have a non-empty intersection with M [0No M], M v (), v-constructs the set of all sets that have an empty intersection with M wt [[0All 0Studentwt] 0Cleverwt] wt [[0Some 0Studentwt] 0Lazywt]
15
Analytic expressions “No bachelor is married” True
Bachelor, Married/(); No/((())()) wt [[0No 0Bachelorwt] 0Marriedwt] Let us define and refine: m, n/1 v (), x v : 0No = m n x [[m x] [n x]], [[0No m] n] = x [[m x] [n x]]. 0Bachelor = wt x [[0Marriedwt x] [0Manwt x]]. (to be unmarried and man are requisites of the property of being a bachelor) [[0No 0Bachelorwt] 0Marriedwt] = x [[0Bachelorwt x] [0Marriedwt x]] = x [[0Marriedwt x] [0Manwt x] [0Marriedwt x]]. For any valuation v-constructs T, thus we can generalize: wt x [[0Marriedwt x] [0Manwt x] [0Marriedwt x]].
16
Analytic vs. empirical expressions
Necessarily, 8 > 5 The number of planets = 8 ??? Necessarily, the number of planets > 5 wt [0> 08 05] (analytical necessity) w t [[0Number_of 0Planetwt] = 08] (empirical fact) w t [0> [0Number_of 0Planetwt] 05] (empirical fact) Types. Number_of/(()): the number of elements of a set, Planet/(), >, =/() Proof: [0> 08 05] assumption, E [[0Number_of 0Planetwt] = 08] 2. assumption, E [0> [0Number_of 0Planetwt] 05] 1, 2 Leibniz wt [0> [0Number_of 0Planetwt] 05] 3, I
17
Partiality, v-improper constructions
Incoherent typing If X is not a construction of order n (n 1), then 1X is improper; (a non-procedural object cannot be executed) If X is not a construction of order n (n 2), then 2X is improper; (a non-procedural object cannot be executed) If X, X1, …, Xn are not constructions typed to produce objects of types according to Def., then [X X1…Xn] is improper by failing to v-construct anything for any valuation v. Example. Tom/; 5/; Student/() 1Tom, 15, wt [0Studentwt 05], 2[wt [0Studentwt 0Tom]] Application of a function f to the argument a such that f is not defined at a [0: x 00] is v-improper for any valuation v x [0: x 00] is not v-improper, as it constructs a degenerate function 0[0: x 00] is not v-improper, as it constructs the Composition [0: x 00] [0Improper 0[0: x 00]] constructs T Improper/(1): the class of constructions v-improper for any v.
18
Partiality and Compositionality
„If five divided by zero equals five, then Tom is the Pope“ denotes the degenerate proposition undefined at all w,t ! wt [[[0: 05 00] = 05] [0Tom = 0Popewt]] . 0, 5/; :/(); Tom/; Pope/; [0: 05 00] ; [[0: 05 00] = 05] ; 0Tom ; 0Popewt v ; [0Tom = 0Popewt] v ; [[[0: 05 00] = 05] [0Tom = 0Popewt]] v . The relation = does not obtain the first argument, hence the implication truth-function also does not obtain the first argument; therefore, the whole Composition is v-improper by failing to construct anything. Partiality is propagated up. The Closure degenerate proposition
19
Partiality and Compositionality
If you intuitively feel that the sentence could be true, because the speaker wanted to say that it is not true that five divided by zero is five, we must analyse this sentence: „If it is true that five divided by zero equals five, then Tom is the Pope“. True*/(n): the class of those constructions that v- construct T for every valuation v. [0True* 0C] v-constructs T, iff C v-constructs T for any valuation v, otherwise F. wt [[0True* 0[[0: 05 00] = 05]] [0Tom = 0Papežwt]] Now the Closure constructs the proposition True. The sentence is analytically true
20
Partiality and Compositionality
False*/(n) and Improper*/(n) are classes of constructions that v-construct F or are v-improper for all valuations v, respectively: [0True* 0C] = [0False* 0C] [0Improper* 0C] [0False* 0C] = [0True* 0C] [0Improper* 0C] [0Improper* 0C] = [0True* 0C] [0False* 0C] Similarly, we often need these properties of propositions: True, False, Undef/()
21
The rule of -conversion
Fundamental computational rule of -calculi and functional programming languages It specifies how to apply of a function f to the argument A to obtain the value of f at A. Example. [x [0+ x 01] 03] – we want the value of the successor function at the number 3: -reduction (sometimes also -reduction) „by name“: [x [0+ x 01] 03] [ ] (= 04) -expansion (or -expansion): [ ] [x [0+ x 01] 03] In general: [[x1…xm Y] D1…Dm]┣ Y(Di/xi) where Y(Di/xi) arises from Y by a collision-less substitution of Di for all the occurrences of the variable xi (1 i m)
22
-conversion: [x C(x) A] | C(A/x)
Procedure of applying the function presented by x C(x) to an argument presented by A. The fundamental computational rule of -calculi and functional programming languages The fundamental inference rule of HOL (higher-order logics) ‘by name’; the procedure A is substituted for all the occurrences of x not operationally equivalent, less efficient, loss of info ‘by value’; the value presented by A is substituted for all the occurrences of x
23
-conversion: [x C(x) A] | C(A/x)
In programming languages the difference between ‘by value’ and ‘by name’ revolves around the programmer’s choice of evaluation strategy. Algol’60: “call-by-value” and “call-by-name” Java: manipulates objects “by name”, however, procedures are called “by-value” Clean and Haskell: “call-by-name” Similar work has been done since the early 1970s; for instance, Plotkin (1975) proved that the two strategies are not operationally equivalent. Chang & Felleisen (2012)’s call-by-need reduction by value. But their work is couched in an untyped -calculus.
24
[x C(x) A] | C(A/x) Conversion by name three problems. conversion of this kind is not guaranteed to be an equivalent transformation as soon as partial functions are involved. even in those cases when -reduction is an equivalent transformation, it can yield a loss of analytic information of which function has been applied to which argument In practice less efficient than ‘by value’
25
Problems with -reduction ‘by name’
1) non-equivalence [x [y [0+ x y]] [0Cotg 0]] is an improper construction; it does not construct anything, because there is no value of the cotangent function at but its -reduced Composition [y [0+ [0Cotg 0] y]] constructs a degenerate function The improper construction [0Cotg 0] has been drawn into the intensional context of the Closure [y [0+ x y]].
26
-conversion by name: 2) loss of analytic information
[x [x + 1] 3] [3 + 1] [y [3 + y] 1] which function has been applied to which argument? No ‘backward path’. Does it matter?
27
Problems with -reduction
2) Loss of analytic information “John loves his wife, and so does Peter” exemplary husbands (sloppy reading) “loving one’s own wife” vs. “loving John’s wife” Lown (John): wt [x [0Lovewt x [0Wife_ofwt x]] 0John] LJohn (John): wt [x [0Lovewt x [0Wife_ofwt 0John]] John] Both -reduce to LJohn (John): wt [0Lovewt 0John [0Wife_ofwt 0John]] “so does Peter” Peter loves John’s wife trouble on the horizon
28
-conversion by name: loss of info
(1) wt [x [0Lovewt x [0Wife_ofwt 0John]] 0John] (2) wt [x [0Lovewt x [0Wife_ofwt x]] 0John] (3) wt [0Lovewt 0John [0Wife_ofwt 0John]] It is uncontroversial that the contractum (3) can be equivalently expanded back both to (1) and (2). The problem is, of course, that there is no way to reconstruct which of (1), (2) would be the correct redex
29
Does it matter? HOL tools are broadly used in automatic theorem checking and applied as interactive proof assistants. The underlying logic is usually a version of simply typed -calculus of total functions. However, there is another application natural language processing hyperintensional logic is needed so that the underlying inference machine is neither over-inferring (that yields inconsistencies) nor under-inferring (that causes lack of knowledge). agents’ attitudes like knowing, believing, seeking, solving, designing, etc., because attitudinal sentences are part and parcel of our everyday vernacular.
30
Hyperintensionality Which contexts are hyperintensional?
was born out of a negative need, to block invalid inferences Carnap (1947, §§13ff); there are contexts that are neither extensional nor intensional (attitudes) Cresswell; any context in which substitution of necessary equivalent terms fails is hyperintensional Yet, which inferences are valid in hyperintensional contexts? How hyper are hyperintensions? procedural isomorphism Which contexts are hyperintensional? TIL definition is positive: a context is hyperintensional if the very meaning procedure is an object of predication; TIL is a hyperintensional, partial typed -calculus 30
31
-reduction by value [x C(x) A] |– C(A/x) How to execute C(A/x)?
underspecified: How to execute C(A/x)? ‘by name’: construction A is substituted for x problems ‘by value’: execute A first, and only if it does not fail, substitute the produced value for x – substitution method bingo, no problems !!!
32
Substitution ‘by value’
[x F(x) A] = 2[0Sub [0Tr A] 0x 0F(x)] A: execute A in order to obtain the value a; if A is v-improper, then the whole Composition is v-improper (stop); else: [0Tr A]: obtain Trivialization of (“pointer at”) the argument a [0Sub [0Tr A] 0x 0F]: substitute this Trivialization for x into ‘the body’ F 2[0Sub [0Tr A] 0x 0F]: execute the result
33
Substitution ‘by value’
Sub/(nnnn) operates on constructions in this way: [0Sub C C C3] what for-what into-what Let C1 v-construct D1, C2 v-construct D2, C3 v-construct D3, then Sub v-constructs the construction D, that is the result of substituting D1 for D2 into D3 Tr/(n ) v-constructs the Trivialization of an -object [0Tr x] v-constructs the Trivialization of the object v-constructed by the variable x; x is free 0x constructs x regardless of a valuation, the variable x is bound by Trivialization, o-bound
34
Substitution ‘by value’
Example [0Sub [0Tr 0] 0x 0[0Sin x]] constructs the Composition [0Sin 0] 2[0Sub [0Tr 0] 0x 0[0Sin x]] constructs the value of the function Sine at , i.e. the number 0 [0Sub [0Tr y] 0x 0[0Sin x]] v(/y)-constructs the Composition [0Sin 0]
35
Substitution method; broadly applied
Application of a function to an argument (-reduction by value) Existential quantification into hyperintensional contexts Hyperintensional attitudes de re Anaphoric preprocessing Topic/focus articulation; presuppositions; active vs. passive
36
Substitution method; broadly applied
de re attitudes Tilman believes of the Pope that he is wise wt [0Believewt 0Tilman 2[0Of [0Tr 0Popewt] 0he 0[w*t* [0Wisew*t* he]]] Of = Sub operates on the (hyper)intensional context of “that he is wise”
37
Substitution method; broadly applied
Quantifying into … Tom is seeking the last decimal of There is a number such that Tom is seeking its last decimal wt [0Seek*wt 0Tom 0[0Last_Dec 0]] wt [0x [0Seek*wt 0Tom [0Sub [0Tr x] 0y 0[0Last_Dec y]]]]
38
How hyper are hyperintensions procedural isomorphism
Maybe that it is philosophically wise to adopt several notions of procedural isomorphism. It is not improbable that several degrees of hyperintensional individuation are called for, depending on which sort of discourse happens to be analysed. What appears to be synonymous in an ordinary vernacular might not be synonymous in a professional language like the language of logic, mathematics, computer science or physics.
39
Procedural isomorphism
Ordinary vernacular – no -bound variables (A1’’’): -conversion + -conversion by value + restricted -conversion by name; [x [0+ x 00] y] [0+ y 00] + pairs of simple synonyms Programming language – variables matter (A0’): -conversion + pairs of simple synonyms
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.