“It’s Friday, you’re a philosopher, you ain’t got no job, and you ain’t got to sh** to do…” | by Roomal Seferaj | Jun, 2024

Introduction with Saul Kripke

Saul Kripke’s Naming and Necessity (Kripke, 1980) introduced crucial distinctions in the philosophy of language, particularly between rigid and non-rigid designators, and between de re and de dicto statements. These distinctions are vital for understanding how names and descriptions function in logical and philosophical contexts.

  1. Rigid Designators: Terms that refer to the same object in all possible worlds where that object exists (e.g., proper names like “Aristotle”).
  2. Non-Rigid Designators: Terms that may refer to different objects in different possible worlds (e.g., descriptions like “the current President of the United States”).
  3. De Re Statements: Statements about a thing itself, often involving rigid designators.
  4. De Dicto Statements: Statements about a description or a proposition, often involving non-rigid designators.

Demonstration Using Python

Let’s use Python to simulate Kripke’s ideas. We’ll use custom functions and basic logic operations to demonstrate these concepts.

import itertools

# Define possible worlds
possible_worlds = ['world1', 'world2']

# Define entities in different worlds
entities = {
'world1': {'Aristotle': 'Philosopher', 'President': 'Joe Biden'},
'world2': {'Aristotle': 'Philosopher', 'President': 'Kamala Harris'}

# Function to check rigid designator
def is_rigid_designator(name, entity_dict):
references = [entity_dict[world][name] for world in possible_worlds if name in entity_dict[world]]
return len(set(references)) == 1

# Function to check non-rigid designator
def is_non_rigid_designator(description, entity_dict):
references = [entity_dict[world]

Kripke, Frege, Wittgenstein, and J5IW6PIK

for world in possible_worlds if description in entity_dict[world]]
return len(set(references)) > 1

# Function to demonstrate de re and de dicto
def de_re_de_dicto(statement, world, entity_dict):
subject, predicate = statement.split(' is ')
if is_rigid_designator(subject, entity_dict):
print(f"De Re: '{subject} is {predicate}' is true in {world} if '{subject}' has the property '{predicate}'")
print(f"De Dicto: '{subject} is {predicate}' is true in {world} if the description '{subject}' refers to something with the property '{predicate}'")

# Check rigid and non-rigid designators
print("Checking rigid and non-rigid designators:")
print(f"Is 'Aristotle' a rigid designator? {is_rigid_designator('Aristotle', entities)}")
print(f"Is 'President' a non-rigid designator? {is_non_rigid_designator('President', entities)}")

# Demonstrate de re and de dicto statements
print("Demonstrating de re and de dicto statements:")
de_re_de_dicto('Aristotle is a Philosopher', 'world1', entities)
de_re_de_dicto('President is Joe Biden', 'world1', entities)
de_re_de_dicto('President is Kamala Harris', 'world2', entities)

Output and Explanation

The above Python script will output:

Checking rigid and non-rigid designators:
Is 'Aristotle' a rigid designator? True
Is 'President' a non-rigid designator? True

Demonstrating de re and de dicto statements:
De Re: 'Aristotle is a Philosopher' is true in world1 if 'Aristotle' has the property 'Philosopher'
De Dicto: 'President is Joe Biden' is true in world1 if the description 'President' refers to something with the property 'Joe Biden'
De Dicto: 'President is Kamala Harris' is true in world2 if the description 'President' refers to something with the property 'Kamala Harris'

With Kripke’s distinctions in mind, we can now revisit Frege’s famous Slingshot Argument and see how these concepts can challenge its assumptions. Particularly, the notions of rigid and non-rigid designators, along with de re and de dicto distinctions, highlight the importance of context and shared foundational beliefs in understanding meaning and reference.

Frege’s Slingshot Argument has been a cornerstone in philosophical discussions about reference and meaning. The Slingshot Argument relies on the principle of Substitutivity of Identicals, which states that:

> If two expressions refer to the same entity, they can be substituted without changing the truth value of a statement.

But does this principle hold up in all contexts? This article aims to challenge the assumptions of the Slingshot Argument using Wittgenstein’s ideas on shared communication, or what he called “hinge propositions.”

The Slingshot Argument: An Overview

The Slingshot Argument is built on a few key components:

  1. Substitutivity of Identicals (or Indiscernibility of Identicals): If two expressions refer to the same entity, one can be substituted for the other without changing the truth
  2. Logical Form and Referential Transparency: Substitution must preserve the meaning and truth within certain contexts.

Stated otherwise, consider the following examples:

> A true statement of identity, one of its two terms can be substituted for the other in any true statement, and the result will still be true.

One example straight off the intra-webs is to suppose we have the true statement:

> "John is identical to the author of 'War and Peace.'"

We can use the substitutivity of identicals to replace “John” with “the author of ‘War and Peace’” in any context without changing the truth value of the statement. For instance:

> "John is a great writer." (Original statement)
> "The author of 'War and Peace' is a great writer." (Using substitutivity)

Both statements are presumably “true” because they refer to the “same” “individual,” even though different descriptions are used. This principle, which defines the equality relation, is crucial in philosophy, mathematics, and quantum mechanics. It ensures that identical objects can be interchanged without changing the truth of relevant statements.

Let’s examine some common examples used in the Slingshot Argument.

Common Examples in the Slingshot Argument

Consider the following examples:

1. Mathematical Identity: \( 2 + 2 = 4 \)
2. Synonyms: "The morning star" and "The evening star" both refer to Venus.

Mathematical Demonstration of the Slingshot Argument and Its Complexities

The Slingshot Argument is elegant in its theoretical simplicity but encounters practical complexities when applied to descriptions and logical entities. Let’s break this down mathematically and then show where the complications arise.

1. Substitutivity of Identicals (Indiscernibility of Identicals):
- Mathematically, if \( a = b \), then for any function \( f \), \( f(a) = f(b) \).
- Example: Let \( a = 2 + 2 \) and \( b = 4 \). We know \( 2 + 2 = 4 \), so any function \( f \) applied to \( 2 + 2 \) should yield the same result as when applied to \( 4 \).
2. Logical Form and Referential Transparency:
- In logical terms, if \( a = b \), then replacing \( a \) with \( b \) in any logical expression \( P(a) \) does not change the truth value of the expression.
- Example: Let \( a = \text{"John"} \) and \( b = \text{"the author of 'War and Peace'"} \). If \( John = \text{"the author of 'War and Peace'"} \), then \( P(\text{"John"}) \) should have the same truth value as \( P(\text{"the author of 'War and Peace'"}) \).

Practical Complications

The simplicity of the Slingshot Argument starts to break down when we move from pure logical or mathematical identities to natural language and descriptions. Here are some illustrative examples and mathematical notations to highlight these issues:

1. Context-Dependence of Descriptions:
- Let \( a = \text{"The morning star"} \) and \( b = \text{"The evening star"} \).
- Both \( a \) and \( b \) refer to Venus, so \( a = b \).
- However, in a context-sensitive expression, substituting \( a \) with \( b \) might not preserve the same meaning due to different connotations.
- Example: \( P(\text{"The morning star is bright"}) \) might be true in the context of morning observations but not directly equivalent to \( P(\text{"The evening star is bright"}) \) without additional context.
2. Logical Entities and Variable Contexts:
- Let \( f(a) \) represent a function where \( a \) is a rigid designator (e.g., "Aristotle").
- Now, let \( g(a) \) represent a function where \( a \) is a non-rigid designator (e.g., "The current president").
- \( f(\text{"Aristotle"}) = \text{"Aristotle is a philosopher"} \).
- \( g(\text{"The current president"}) \) can change depending on the time, making the substitution non-transparent across different contexts.
- Example: \( g(\text{"The current president in 2020"}) = \text{"Donald Trump"} \) but \( g(\text{"The current president in 2024"}) = \text{"Joe Biden"} \).
3. De Re vs. De Dicto Distinctions:
- De Re (of the thing): \( \exists x (x = \text{"Aristotle"} \land \text{"Aristotle is a philosopher"}) \).
- De Dicto (of the word): \( \text{"The current president is such that"} (\exists x (\text{"x is the current president"} \land x = \text{"Joe Biden"})) \).
- In de re statements, the identity holds directly, but in de dicto statements, the truth can vary with the descriptive content.
- Example: \( P(\text{"The current president is a great leader"}) \) may hold de dicto for different presidents across time but not de re for the same individual.

Wittgenstein’s concept of “hinge propositions” from “On Certainty” introduces the idea that there are basic, taken-for-granted beliefs that form the foundation for all other knowledge and communication.

  • Hinge Propositions: Fundamental beliefs that are not questioned within a particular language game or form of life.
  • Shared Basis of Communication: Without mutual understanding of these basic propositions, meaningful communication and definitive claims are impossible.

The Hinge Argument challenges the assumptions of the Slingshot Argument by emphasizing the need for a shared basis of communication:

  1. Contextual Understanding: Meaningful communication relies on a shared context and mutual understanding.
  2. Absence of Shared Basis: Without shared foundational beliefs, expressions can become meaningless or misleading.

Consider the following analysis using spaCy:

import spacy

# Load spaCy model
nlp = spacy.load("en_core_web_sm")

# Define descriptions
text1 = "2 + 2 = 4"
text2 = "J5IW6PIK ^_^ J5IW6PIK aSht > J5IW6PIK"
text3 = "One mole of water contains 6.022 × 10^23 molecules."
text4 = "MoleX H2O has Avogadro's number of molecules."
text5 = "The Eiffel Tower is in Paris."
text6 = "The tall iron structure is located in the City of Lights."

# Process the texts
docs = [nlp(text) for text in [text1, text2, text3, text4, text5, text6]]

# Extract sentences and named entities
results = [(doc, [sent.text for sent in doc.sents], [(ent.text, ent.label_) for ent in doc.ents]) for doc in docs]

for i, (doc, sentences, entities) in enumerate(results, start=1):
print(f"Text {i} Sentences:", sentences)
print(f"Text {i} Entities:", entities)

Text 1 Sentences: ['2 + 2 = 4']
Text 1 Entities: [('4', 'CARDINAL')]

Text 2 Sentences: ['J5IW6PIK ^_^ J5IW6PIK aSht > J5IW6PIK']
Text 2 Entities: []

Text 3 Sentences: ['One mole of water contains 6.022 × 10^23 molecules.']
Text 3 Entities: [('6.022 × 10^23', 'CARDINAL')]

Text 4 Sentences: ["MoleX H2O has Avogadro's number of molecules."]
Text 4 Entities: []

Text 5 Sentences: ['The Eiffel Tower is in Paris.']
Text 5 Entities: [('Eiffel Tower', 'FAC'), ('Paris', 'GPE')]

Text 6 Sentences: ['The tall iron structure is located in the City of Lights.']
Text 6 Entities: [('City of Lights', 'GPE')]

This example highlights the importance of shared foundational beliefs for meaningful communication. While the Slingshot Argument is logically rigorous, it demonstrates its limitations when applied without considering the shared basis of understanding that Wittgenstein emphasized.

Let’s reflect on the significance of shared context and mutual understanding in logical and linguistic analysis and consider how these factors influence the meaningfulness of any argument or proposition.

I know most — if not all — philosophers would have something to say about this. Mostly because they should. It doesn’t inherently make sense, and it seems altogether peculiar to make the claim for the Substitutivity of Identicals (or Indiscernibility of Identicals) and for the Referential Transparency. From a first-person perspective, it does not seem to me that that is how language works, not in natural language anyway. Not only that, but the simple fact that “J5IW6PIK ^_^ J5IW6PIK aSht > J5IW6PIK” has the same referent as “2 + 2 = 4” does not seem to be even inherently coherent or discernible to the most unbiased of observers — AI — let alone a human. However, this shouldn’t be so. I vividly remember my analytical chemistry days and the direct conversion of units of, say, moles to Avogadro’s number. Yet, the direct proportionality of units does not seem to convey the same sense — or even any sense — at all.

  1. Context Matters: Without a shared understanding or framework, even the simplest truths can become obscure or misleading.
  2. Hinge Propositions: Wittgenstein’s idea underscores that communication and understanding rest on fundamental, unquestioned beliefs shared by a community.

This article aims to stir the philosophical waters and provoke thought about the importance of shared context in logical and linguistic analysis.

Recent Articles

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here