Wednesday April 12th

4/12/17 - Boolean Operators and Programming for Correctness

Today I learned:

  • Got Matlab Live Editor up and running. Really great tool!

  • Started learning how to properly write LaTeX. I’ve written a bit before on my own, but very sloppily. Writing great LaTeX is very important to me, based on my interests and my mentors. It’s one of the skills I’d love to learn over the course of my life, and a tool and a mindset that I think will make me a better programmer in general.

Sloppy LaTeX :)


This is from a course. I taught myself LaTeX several months ago to make notes for this course.

  • Learned about the origins of LaTeX from a great video interviewing Leslie Lamport. He is a 2013 Turing Award winner and spent many years at Microsoft.

Boolean Operators applied to Propositions (using symbolic notation)

Foreword: I actually took Keith Devlin’s “Intro to Mathematical Thinking” about two years ago. I highly recommend it. It’s about thinking computationally and using logic to parse sentences.

  • Logical statements can be simple propositions or they can be formed from operations on simple statements.

  • Negation: !, NOT.

  • Conjunction: &&, AND.

  • Disjunction:   , OR.
  • Implication: => if…then.

  • Equivalence: <=> iff (if and only if).


  • If a predicate is always True, it is known as a tautology.

  • If it is always False, it is called a contradiction.

  • If it is sometimes True and sometimes False, it is known as a contingency.


Things to get done:

  • Working on C++ lab -> Linked List implementation (not due until 4/ 18)

  • Start Matlab/Programming for correctness

  • Do C++ quiz (due 4/ 16)

  • Start viewing lectures on Grothendieck Topology for LambdaConf

Other notes:

  • I found this interesting book via nLab/nCatLab called “Sketches of an Elephant”, by Peter Johnstone. Interested in that and Lyle Kopnicky’s notes on Cat Theory for understanding.
Written on April 12, 2017