I am having a hard time understanding the difference between classical, constructive, predicate, intuitionistic and propositional logic. I know that propositional logic studies ways of joining propositions but is it a branch of the bigger classical logic? Same for the predicate, is it a branch of one of the aforementioned types? Is the main difference of constructive is that it does not believe in LEM and some other tools used in classical logic?
If someone could explain how logic is divided into branches and which is part of which, I would really appreciate that!
There are two axes here: $$\text{propositional} \subset \text{predicate} =\text{first-order}\subset \text{second-order}\subset \text{higher-order}$$ $$\text{minimal}\subset \text{constructive} = \text{intuitionistic}\subset\text{classical}$$
The first axis defines the types of logical connectives:
Propositional logic studies only logic with the connectives $\wedge,\vee,\implies,\neg$, whereas predicate logic also includes quantifiers $\forall,\exists$. First order means we can only quantify over a single universe, whereas second order means we can quantify over subsets of the universe, and higher order means we can quantify over subsets of subsets of subsets... of the universe.
The second axis specifies additional logical rules:
Minimal logic means we exclude the principle of explosion: $\bot \vdash \phi$ , constructive logic means we exclude double negation: $\neg\neg\phi\vdash\phi$, and classical logic has no limit.
This means you can have classical propositional logic, or higher order minimal logic, etc...