https://masudadam.blogspot.com/2020/05/rules-of-semantics.html