Consider the set of five symbols, $\{ (, ), p, ', *\}$. A variable is defined as $p$ followed by zero or more $'$s. A wff is inductively defined as follows: $1$. Every variable is a wff. $2$. If $x$ and $y$ are formulas, so is $(x*y)$. $3$. Nothing else is a formula. This is really just a simplified version of a propositional logic language. My problem, though, is with clause 3 of the definition. It is easy to prove that a particular sequence of symbols is a wff. How, though, does one actually prove that a particular sequence, like $p**pp$, is NOT a wff? More precisely, and this is my real question, is there an explicit algorithm that takes a string and returns Yes if it is a wff, and No if it is not? And can someone describe the algorithm?
2026-02-23 02:47:18.1771814838
An explicit algorithm to test whether a string of symbols is or is not well-formed in this language.
425 Views Asked by Bumbble Comm https://math.techqa.club/user/bumbble-comm/detail At
1
There are 1 best solutions below
Related Questions in LOGIC
- Theorems in MK would imply theorems in ZFC
- What is (mathematically) minimal computer architecture to run any software
- What formula proved in MK or Godel Incompleteness theorem
- Determine the truth value and validity of the propositions given
- Is this a commonly known paradox?
- Help with Propositional Logic Proof
- Symbol for assignment of a truth-value?
- Find the truth value of... empty set?
- Do I need the axiom of choice to prove this statement?
- Prove that any truth function $f$ can be represented by a formula $φ$ in cnf by negating a formula in dnf
Related Questions in COMPUTER-SCIENCE
- What is (mathematically) minimal computer architecture to run any software
- Simultaneously multiple copies of each of a set of substrings of a string.
- Ackermann Function for $(2,n)$
- Algorithm for diophantine equation
- transforming sigma notation into harmonic series. CLRS A.1-2
- Show that if f(n) is O(g(n) and d(n) is O(h(n)), then f(n) + d(n) is O(g(n) + h(n))
- Show that $2^{n+1}$ is $O(2^n)$
- If true, prove (01+0)*0 = 0(10+0)*, else provide a counter example.
- Minimum number of edges that have to be removed in a graph to make it acyclic
- Mathematics for Computer Science, Problem 2.6. WOP
Related Questions in FORMAL-LANGUAGES
- Simultaneously multiple copies of each of a set of substrings of a string.
- Do these special substring sets form a matroid?
- Exitstance of DPA of L = $\{ww^r\}$
- Automata defined by group presentations.
- Constructing context free grammar with a number constraint to one of the elements in the language
- Converting CFG to a regular expression
- CSG for the language $\{a^{n^2}|n>0\}$
- If true, prove (01+0)*0 = 0(10+0)*, else provide a counter example.
- Proof of "Extension" for Rice's Theorem
- Prove that this sentence is a tautology.
Related Questions in PARSING
- Is First Order Logic Syntax Context Free?
- Can first-order logic be recognized by a pushdown automaton?
- Proving a Formal Grammar Parses a String.
- Correctness properties, judgments and rules
- grouping non-zero entries in a matrix according to a rule
- Backus-Naur Form with automata
- Parenthesize expressions.
- What is the notation for a sub-expression?
- How to read an expression that is ambiguous?
- Is every sentential form also a right-sentential form?
Trending Questions
- Induction on the number of equations
- How to convince a math teacher of this simple and obvious fact?
- Find $E[XY|Y+Z=1 ]$
- Refuting the Anti-Cantor Cranks
- What are imaginary numbers?
- Determine the adjoint of $\tilde Q(x)$ for $\tilde Q(x)u:=(Qu)(x)$ where $Q:U→L^2(Ω,ℝ^d$ is a Hilbert-Schmidt operator and $U$ is a Hilbert space
- Why does this innovative method of subtraction from a third grader always work?
- How do we know that the number $1$ is not equal to the number $-1$?
- What are the Implications of having VΩ as a model for a theory?
- Defining a Galois Field based on primitive element versus polynomial?
- Can't find the relationship between two columns of numbers. Please Help
- Is computer science a branch of mathematics?
- Is there a bijection of $\mathbb{R}^n$ with itself such that the forward map is connected but the inverse is not?
- Identification of a quadrilateral as a trapezoid, rectangle, or square
- Generator of inertia group in function field extension
Popular # Hahtags
second-order-logic
numerical-methods
puzzle
logic
probability
number-theory
winding-number
real-analysis
integration
calculus
complex-analysis
sequences-and-series
proof-writing
set-theory
functions
homotopy-theory
elementary-number-theory
ordinary-differential-equations
circles
derivatives
game-theory
definite-integrals
elementary-set-theory
limits
multivariable-calculus
geometry
algebraic-number-theory
proof-verification
partial-derivative
algebra-precalculus
Popular Questions
- What is the integral of 1/x?
- How many squares actually ARE in this picture? Is this a trick question with no right answer?
- Is a matrix multiplied with its transpose something special?
- What is the difference between independent and mutually exclusive events?
- Visually stunning math concepts which are easy to explain
- taylor series of $\ln(1+x)$?
- How to tell if a set of vectors spans a space?
- Calculus question taking derivative to find horizontal tangent line
- How to determine if a function is one-to-one?
- Determine if vectors are linearly independent
- What does it mean to have a determinant equal to zero?
- Is this Batman equation for real?
- How to find perpendicular vector to another vector?
- How to find mean and median from histogram
- How many sides does a circle have?
You're asking a particular question:
and a general question:
The particular question has a shorter answer. The rules you gave require that a wff must begin with
p(rule 1) or with((rule 2). The stringp**ppbegins withpso if it is a wff it must be a variable. But a variable is apfollowed by zero or more's, andp**ppis not that, so it is not a variable. So by rule 3, it is not a wff.The more general question has a very interesting answer.
There are many explicit algorithms that do what you want. They come under the general heading of “parsing algorithms”. A parsing algorithm takes an unstructured sequence of symbols and decides if it can be understood as a meaningful utterance in a certain language. In your example the language is the syntax of wffs. Parsing is an interesting topic, and it is impossible to give a complete answer here. (I highly recommend Parsing Techniques: A Practical Guide by Grune and Jacobs, available for free download from the author's web site.)
I can outline one example an algorithm that parses the language you described. This uses the method of recursive descent parsing:
pthe function will consume thepand then consume any following'symbols, and yield success; otherwise it yields failure, which indicates that the unscanned part of the input does not look like a variable(. If not, it can fail immediately because every wff that is not a variable begins with a((, then it consumes the(. Then it calls itself recursively scan the following wff. If this recursive call fails, the failure is propagated back up, because what we have is(followed by a non-wff.(is followed by a valid wff, the function then looks to see if the following symbol is*. If not, it fails immediately.*, the function consumes it and makes a second recursive call, looking for a second wff.), and reports success if it is.