এলিক্সির ট্রু ও ফলস মান বুলিয়ান টাইপ দিয়ে প্রকাশ করে। এখানে মাত্র দুটি মান আছে: true এবং false. এই মানগুলো বুলিয়ান অপারেটর (and/2, or/2, not/1) দিয়ে একত্র করা যায়:
true_variable = true and true
false_variable = true and false
true_variable = false or true
false_variable = false or false
true_variable = not false
false_variable = not true
and/2, or/2 ও not/1 অপারেটরগুলো কঠোরভাবে বুলিয়ান, অর্থাৎ এগুলো তাদের প্রথম আর্গুমেন্টটি বুলিয়ান হতে দাবি করে। এর পাশাপাশি সমতুল্য কিছু বুলিয়ান অপারেটরও আছে যেগুলো যেকোনো টাইপের আর্গুমেন্ট নিয়ে কাজ করে: &&/2, ||/2 ও !/1।
বুলিয়ান অপারেটরগুলো শর্ট-সার্কিট ইভ্যালুয়েশন ব্যবহার করে, অর্থাৎ অপারেটরের ডান দিকের এক্সপ্রেশনটি কেবল প্রয়োজন হলেই মূল্যায়ন করা হয়।
প্রতিটি অপারেটরের প্রাধান্য আলাদা, যেখানে and/2 ও or/2-এর আগে not/1 মূল্যায়ন করা হয়। বন্ধনী ব্যবহার করে এক্সপ্রেশনের একটি অংশ বাকিগুলোর আগে মূল্যায়ন করা যায়:
not true and false
# => false
not (true and false)
# => true
বুলিয়ান মান রিটার্ন করে এমন একটি ফাংশন লেখার সময়, ফাংশনের নামের শেষে ? রাখাই রীতি। বুলিয়ান মান সংরক্ষণ করে এমন ভ্যারিয়েবলের ক্ষেত্রেও একই রীতি ব্যবহার করা যায়।
def either_true?(a?, b?) do
a? or b?
end