Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Syntax and Semantics for FOL material has become too technical #173

Open
nicolewyatt opened this issue Mar 5, 2018 · 3 comments
Open

Syntax and Semantics for FOL material has become too technical #173

nicolewyatt opened this issue Mar 5, 2018 · 3 comments

Comments

@nicolewyatt
Copy link
Contributor

nicolewyatt commented Mar 5, 2018

Based on my experience teaching with the Fall 2017 version of Sets, Logic, Computation I think the material on syntax and semantics for FOL has become inaccessible to students with a single prior formal logic course like those in our Phil 379. Many of those students have no experience at all with formal models, but recent changes to the text have focused on adding to the body of proved theorems and providing technical scaffolding for material needed in more advanced logic classes. I'm not sure how to thread the needle here for the needs of these students versus what is needed in these sections for students in graduate logic classes. But you asked me to file it Richard, so here it is.

@pdaniell
Copy link
Collaborator

I have been thinking a lot about this bug (which explains this unduly long post).
However, it really reflects my experience TAing logic
last year --- LSE students take a year-long course course in logic which covers material usually
split into different classes/semester in America. While we don't use the OpenLogic textbook,
I found the philosophy students who were extremely adept at the sort of logic which required doing
truth tables, derivations, etc. (what would normally belong in a first-term course) still
struggled with any material related to metalogic or axiomatic set theory (what would
more properly belong in a second-term course). Then I reflected back on my own experience:
at Stanford, the first quarter course on logic, 150, is supported by the Barwise & Etchemendy textbook
--- a course I think a lot of people found extremely easy.
I think people liked to skip that 9am class because they didn't even have to show up
to turn in our homework: it was mostly submitted online. On the other hand, the second-term
151 --- supported by the Enderton textbook --- was widely regarded as one of the hardest courses
in the entire program (maybe even the university).
People would take reduced course loads out of fear they might not pass.

I guess the reason is not merely that the course material is harder but that students
who have only been taking philosophy courses are being forced to almost temporarily adopt a new
department (i.e. the math department), which has in many respects a distinctive intellectual
culture (though, of course, not completely separate from analytic philosophy). For one thing,
in a first-term philosophy textbook is often peppered with everyday sort of examples of reasoning
as well as philosophical reasoning while these don't usually enter into metalogic/mathematical logic
textbooks (e.g. Enderton, van Dalen, Shoenfield, etc). Perhaps this is a long winded
way of saying this is going to be a hard transition no matter what (unless the philosophy student
has had some upper-division math classes already).

That said, I do think OpenLogic could ease the transition somewhat. Here are a few ideas
I have been brainstorming.

[1] Real-world structures. When you take a first-term course, the treatment is
really agnostic about whether the reasoning and models concern mathematics, philosophy,
or just everyday life. For example, in Barwise and Etchemendy the first order model that is primarily
discussed is a "blocks world," which is represented visually in their software. Even in my
class, many of the first order models had domains consisting of people with binary relations like
isSisterOf or Likes. It's really weird to be in a class where that sort of thing is being discussed
and jump to one where the only structures we talk about are groups, monoids, and the structure
of hereditarily finite sets. We could try to incorporate some more "everyday" first-order
structures. If that's not respectable enough, we could also try first order structures
which have some connection to
economics like preference structures (a choice set/commodity basket
coupled with a binary, transitive, complete
relation).

[2] Order of the material. I have always found it a little peculiar that many logic textbooks
always spend a great deal of time introducing the syntax of a language before saying anything about the
structures/models. I remember taking a class with Grigori Mints on modal logic where he painstakingly
introduced the syntax for modal logic for three weeks. We learned a great deal about syntax
trees, unique readability, free and bound variables, etc. but I was dying to know what
box and diamond meant so I could impress my friends!
In retrospect I have no idea how
I would have learned C/C++ were it presented in this way: e.g you would first learn somewhat
mysteriously that that some variables and types could have asterisks on them but you wouldn't
really know why for while what they meant until you learned about pointers. The more reasonable
way maybe is to say what a pointer is first (a reference to some position in memory) and
then say how to create such a variable (with an asterisk).
So I wonder then --- maybe 12.9 should be first section of the chapter?
That reconfiguration would be of the sort where you say: here are the sorts of things we
are going to reason about (first-order structures);
then you would introduce the syntax (here is a regimented language we are going to use to describe
such structures); then you would cover the semantics (this is what the regimented language means).
If the first order structures section were first -- and it incorporated the suggestion from [1] --
perhaps philosophy students would recall something about the structures they learned in the
first term of logic.

[3] Hard environment/easy environment.
I'm reading a textbook on general equilbrium theory right now which
I think can double an advanced undergraduate or early graduate textbook in economics. I think
they sometimes have the more advanced material (for the people who have taken functional
analysis) typeset in a smaller font. I wonder if an environment of this kind could be incorporated
somehow into the LaTeX so that you can produce an "easy" and "hard" version of the chapter.
Two main things that I feel might be too hard for a second-term undergrad students are (i) the
material about unique readability; and (ii) any discussion of hereditarily finite sets.
(It's not that they can't be taught what these sets are, I just feel it would immediately
turn into a discussion about the problems about why the class of all sets can't be part of a
structure, what a class is, etc. )
Another
option would be for easy mode simply to eliminate the hard material altogether; if that
were the case the best option would be to a conditional style tag if(hard) ____ else _____
(I understand this would be a huge change).

[4] Refresher on set theory. I know there is an entire part of the book on set theory
but I wonder --- if the textbook were being used to teach a metalogic class, it would probably
be too much to cover that page count just as a refresher. Enderton has a "Chapter 0" entitled
"Useful Facts about Sets" which runs 10 pages. I wonder if something like that could be part
of an appendix --- maybe incorporated into the chapter 48 on Proofs? I feel like
syntax/smeantics chapter would be rough sailing for a student who had forgotten
what the membership symbol meant!

[5] Introduction. I find the introduction to the syntax and semantics chapter to be more of
a summary of the chapter's contents than a motivation of the material. It introduces some
terminology very quickly like validity which is then defined with some depth later on (12.14).
Maybe a novice would find this rush of definitions and notation intimidating. Then again
it appears that most of the introductory sections are written this way.

Anyway, just a brainstorm of suggestions to consider.

@nicolewyatt
Copy link
Contributor Author

Thanks Paul. These are some useful suggestions/thoughts. I think the very first version of this chapter was pulled from my and Audrey Yap's teaching notes/handouts for this material, and both those sets of notes were very chatty. That meant they said some not-strictly-speaking-true things, and also tended to handwave at proofs of things a lot. But they did have the virtue of accessibility, and in particular, used primarily non-mathematical examples. I think there is definitely something to be said for that point. Also the idea of a hard and easy environment option, which can be typeset differently or left out.

When I am reviewing the syntax for FOL in class (since students in our context may have done the first course 2-3 years ago, and/or used different notation) I do try to preview the semantics, but I really like the idea of introducing the basic structures first. Even if the book doesn't do that I think I might do it in class next time I teach this, and see how it works.

I have the advantage of Richard being down the hall from me, so once the term ends I'll definitely be thinking about this more and running ideas past him. Please add any more thoughts you have!

rzach added a commit that referenced this issue Jul 10, 2021
rzach added a commit that referenced this issue Jul 10, 2021
@rzach
Copy link
Member

rzach commented Jul 10, 2021

There is a new chapter that introduces the whole syntax & semantics stuff and motivates why it has to be this way. I've also changed the definition of satisfaction so that it's more transparent. I'll leave this open for now though since I'm sure there could be more signposting in the sections where the details are carried out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants